明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

JSP單頁面網(wǎng)站文件管理器

[摘要]這個文件的開發(fā)的設計思想是這樣的。有的web 網(wǎng)站,或者B/S 軟件的客戶,在軟件的安裝調(diào)試階段,往往對某些細節(jié)有特殊要求,也許,是字體的調(diào)整,也許是界面方面的小改動意見。面對這樣的情況,如果用戶沒有開放FTP 功能,則開發(fā)和維護人員往往就必須親臨現(xiàn)場做一些很小的調(diào)試工作。即浪費了時間,也浪費了人...

這個文件的開發(fā)的設計思想是這樣的。有的web 網(wǎng)站,或者B/S 軟件的客戶,在軟件的安裝調(diào)試階段,往往對某些細節(jié)有特殊要求,也許,是字體的調(diào)整,也許是界面方面的小改動意見。面對這樣的情況,如果用戶沒有開放FTP 功能,則開發(fā)和維護人員往往就必須親臨現(xiàn)場做一些很小的調(diào)試工作。

即浪費了時間,也浪費了人力物力。

在這樣的情況下,我開發(fā)了這個具有文件管理功能的 JSP 單頁面文件。它提供了文件夾的新增,更名,刪除;文件的修改,更名,刪除和上傳的功能。基本能滿足在軟件的安裝調(diào)試階段,小的修改工作。

為了安全原因,該JSP 頁面提供了簡單的用戶登陸功能。

使用前,把該文件置于網(wǎng)站文件,或者B/S 產(chǎn)品的任意目錄下。開放文件安裝目錄的 讀寫 操作權限。用戶遠程登陸該JSP 頁面,就可以行使管理功能。當安裝維護階段結束以后,請修改文件安裝目錄的 讀寫 權限,并刪除該文件,以免留下安全隱患。

缺省,登陸用戶名為:admin 密碼為:oddworld

開發(fā)環(huán)境 jakarta-tomcat-4.0.3.exe

注意:因為本軟件的上傳文件功能必須有 smartupload 組件支持。請把smartupload 置于tomcat 對應文件夾web-inf 下。如果你支持上傳的組件有所不同,請自行調(diào)整。

簡要開發(fā)說明:因為本文件并不復雜,加上本人自我感覺,文檔說明雖然不規(guī)范,卻也詳細,所以只打算簡要的關于一些小細節(jié)上做說明。

1. 本文件進行文件目錄操作的時候,直接把目錄當參數(shù)來傳遞,沒有進行相應的轉(zhuǎn)換。這是因為在 java 中, “\英文字符”有可能會被認為是轉(zhuǎn)意字符,而引起在字符處理過程中出現(xiàn)無法預期的問題,所以我認為直接把目錄來作為參數(shù),在操作上比較合理。

2. 本文件在一些表單的提交方面,使用連接,而不是按鈕,是因為 javascript 處理帶 “\”的字符串時,也會有處理轉(zhuǎn)意字符的可能,所以,為了防止這樣的情況,所以傳遞目錄參數(shù)的提交,都使用連接形式。

3. strStat,strErr 兩個字符串,貫穿文件始終,前者為頁面進行何種操作的判斷命令,后者為在所有操作中出錯的信息提示。

4. 本文件有可能引起的安全或者其它方面的糾紛,本人不做任何解釋。我只是把該文件作為一個免費的工具提供給大家參考,使用。

----------------------------------------------------------------

文件內(nèi)容 admin.jsp

<%--  oddWorld 網(wǎng)站文件管理系統(tǒng)(簡體中文版) 2003年10月10日
 copy right by joard Ast 
 
 admin.jsp 功能:網(wǎng)站文件后臺管理頁面。
 --%>
 <%@ page contentType="text/html;charset=gb2312" %>
 <%@ page import="java.io.*" %>
 <%@ page import="java.util.Date" %>
 <%@ page import="com.jspsmart.upload.SmartUpload" %>
 <%@ page import="javax.servlet.http.HttpSession" %>
 <%@ page import="javax.servlet.http.HttpServletRequest" %>
 <%@ page import="java.lang.reflect.*" %>
 
<% //中文字符轉(zhuǎn)換%>
<%!

public static String UnicodeToChinese(String s){
   try{
       if(s==null s.equals("")) return "";
       String newstring=null;
       newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
       return newstring;
     }
   catch(UnsupportedEncodingException e)
   {
    return s;
   }
  }

public static String ChineseToUnicode(String s){
   try{
    if(s==null s.equals("")) return "";
     String newstring=null;
     newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
       return newstring;
   }
   catch(UnsupportedEncodingException e)
   {
    return s;
  }
}
%>
 
 <%
 //刷新問題
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);


//自定義登陸用密碼和用戶名
//正確的用戶名
String username="admin" 
//正確的密碼
String userpass="oddworld";

//得到系統(tǒng)路徑
ServletContext app=(ServletContext)pageContext.getServletContext();
String strSysPath = app.getRealPath("/");

//處理對象物理路徑
String strDealPath="";

//顯示錯誤信息
String strErr="";
//代表頁面的顯示狀態(tài),login 是顯示登陸頁面;show 是正常的顯示文件信息;edit 是顯示編輯文件的頁面;editDo 是編輯文件的寫入操作

;createF 是顯示創(chuàng)建文件夾的頁面;createFDo 是創(chuàng)建文件夾的操作;renameFold 是顯示更改文件夾名稱的頁面;renameFoldDo 是更改文

件夾名稱的操作;delFoldDo 是刪除文件夾的操作;renameFile 是顯示更改文件名稱的頁面;renameFileDo 是更改文件名稱的操作;

delFileDo 是刪除文件的操作;uploadFile 是顯示上傳文件的頁面;uploadFileDo 是上傳文件的操作;
String strStat="login";

//用于show 狀態(tài)下顯示文件的數(shù)組
File[] fileArr=null;

//根據(jù)傳遞的路徑參數(shù)得到要處理對象的物理路徑
if (request.getParameter("path")==null request.getParameter("path").equals("")){
 strDealPath=strSysPath;
}else{
 //得到路徑參數(shù)
 strDealPath=UnicodeToChinese(request.getParameter("path"));
}

//檢查session 的值是否存在,如果不存在著顯示錯誤信息
//HttpSession session = request.getSession(false);
if (session.getValue("loginIn")==null !session.getValue("loginIn").equals("pass"))
{
 strStat="login";
 strErr="你還沒有登陸或者登陸超時,請重新登陸!";
}

//創(chuàng)建file 對象,檢查目錄是否存在
File myFile=new File(strDealPath);

//檢驗文件夾是否存在
if(!myFile.exists()){
 strErr="你選擇的文件夾不存在,請重新選擇!";
}

//根據(jù)參數(shù)的不同,進行對應的操作
if(request.getParameter("act")==null request.getParameter("act").equals("")

request.getParameter("act").equals("login"))
{
 if(request.getParameter("username")!=null && request.getParameter("userpass")!=null)
 {
 
  //正確的經(jīng)過MD5 加密的密碼
  //String userpass="OEEO99107DC8C1EE2E06666B965601EF";
 
  if(request.getParameter("username").equals(username) && (request.getParameter("userpass")).equals(userpass))
  {
   session.putValue("loginIn","pass");
   response.sendRedirect(request.getRequestURI()+"?act=show");
  }
 }
 else {
  strStat="login";
  strErr="你還沒有登陸或者登陸超時,請重新登陸!";
 }
}else if(request.getParameter("act").equals("show")){
 //缺省,頁面正常顯示文件的信息 statStat="show"
 strStat="show";
 
 //創(chuàng)建文件列表數(shù)組
 fileArr=myFile.listFiles();
 
}else if(request.getParameter("act").equals("edit"))
{
 //編輯文件內(nèi)容的頁面
 //根據(jù)是否有request.getParameter("file"),以及相應文件是否存在,如果有,則進行編輯操作,如果沒有,則顯示錯誤提示信息
 if (!(request.getParameter("file")==null request.getParameter("file").equals(""))){
 
  File fileEdit=new

File(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
   
  if(fileEdit.exists())
   //文件編輯操作,實際就是更改頁面的顯示,用一個textarea 顯示文件的信息,來做編輯
   strStat="edit";
  else
   //顯示錯誤信息
   strErr="你選擇的文件不存在,請重新選擇!";
  
 }else{
  strErr="你沒有選擇要編輯的文件,請重新選擇!";
 }
}else if(request.getParameter("act").equals("editDo"))
{
 //把修改的內(nèi)容寫入文件,并且返回修改頁面
 if (!(request.getParameter("file")==null request.getParameter("file").equals("")))
 { 
  File fileEdit=new

File(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
 
  if(fileEdit.exists())
  { 
   //文件編輯操作,實際就是在修改文件內(nèi)容以后,再于頁面上用一個textarea 顯示文件的內(nèi)容,繼續(xù)來做編輯或者

查看修改的效果
   if(!(request.getParameter("fileData")==null))
   {
  
    try{
     PrintWriter pwEdit =null;
     pwEdit=new PrintWriter(new

FileOutputStream(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))));
     pwEdit.println(UnicodeToChinese(request.getParameter("fileData")));
     pwEdit.close();
   
     response.sendRedirect(request.getRequestURI()+"?path="+

UnicodeToChinese(request.getParameter("path")) +"&file="+ UnicodeToChinese(request.getParameter("file")) +"&act=edit"); 
     return;
    }catch(Exception e){
     strErr="文件寫入錯誤,請重新選擇!";
    }
   }else{
    strErr="缺少修改文件內(nèi)容的參數(shù),請重新選擇!";
   }
  }else
   //顯示錯誤信息
   strErr="你選擇的文件不存在,請重新選擇!";
 }else{
  strErr="你沒有選擇要編輯的文件,請重新選擇!";
 }
}else if(request.getParameter("act").equals("createF"))
{
 //創(chuàng)建新的文件夾的頁面顯示
 strStat="createF";
}else if(request.getParameter("act").equals("createFDo"))
{
 //創(chuàng)建新的文件夾
 String strFoldName=strDealPath+UnicodeToChinese(request.getParameter("foldName")).trim()+"\\";

 //out.println(strFoldName);
 //out.close();

 File fileCreateF=new File(strFoldName);
 
 if(!fileCreateF.exists())
 {
  try{
   fileCreateF.mkdir();
   response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); 
   return;
  }catch(Exception e){
   strErr="創(chuàng)建新文件夾失敗!";
  }
 }
 else
 
 {
  strErr="指定的文件夾名稱和現(xiàn)有的文件夾名稱重復,請重新指定一個新的文件夾名稱!";
 }
}else if(request.getParameter("act").equals("delFoldDo"))
{
 //刪除操作
 try{
  String strFileDelF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\\";
  File fileDelF=new File(strFileDelF);
 
  if(fileDelF.exists()){
   File[] fileArrCheck=fileDelF.listFiles();
   if(!(fileArrCheck.length>0))
   {
    fileDelF.delete();
    response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); 
    return;
   }else
   {
    strErr="文件夾下面還包含著文件,請把文件都刪除,再刪除文件夾";
   }
  }else{
   strErr="要刪除的文件夾不存在,請重新選擇";
  }
 
 }catch(Exception e)
 {
  strErr="文件夾刪除操作錯誤!";
 }
}else if(request.getParameter("act").equals("renameFold"))
{
 strStat="renameFold";
}else if(request.getParameter("act").equals("renameFoldDo"))
{
 //文件夾更名操作
 //根據(jù)參數(shù)判斷是否對于文件夾名稱有更改動作發(fā)生
 if(request.getParameter("changeDo").equals("true"))
 {
  //有文件名,更名發(fā)生
  try{
   String strFileRenameF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\\";
   File fileRenameF=new File(strFileRenameF);
  
   String strFileRenameToF=strDealPath+UnicodeToChinese(request.getParameter("newFoldName"))+"\\";
   File fileRenameToF=new File(strFileRenameToF);
 
   //判斷更名的文件夾是否存在
   if(fileRenameF.exists()){
    //判斷新的文件夾名稱是否與現(xiàn)存的文件夾重名
    if(!fileRenameToF.exists())
    {
     fileRenameF.renameTo(fileRenameToF);
     response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); 
     return;
    }else
    {
     strErr="指定的文件夾名稱和現(xiàn)有的文件夾名稱重復,請重新指定一個文件夾名稱!";
    }
   }else{
    strErr="要更名的文件夾不存在,請重新選擇";
   }
 
  }catch(Exception e)
  {
   strErr="文件夾更名操作錯誤!";
  }
 }
}else if(request.getParameter("act").equals("renameFile"))
{
 strStat="renameFile";
}else if(request.getParameter("act").equals("renameFileDo"))
{
 //文件更名操作
 //根據(jù)參數(shù)判斷是否對于文件名稱有更改動作發(fā)生
 if(request.getParameter("changeDo").equals("true"))
 {
  //有文件名,更名發(fā)生
  try{
   String strFileRenameFi=strDealPath+UnicodeToChinese(request.getParameter("file"));
   File fileRenameFi=new File(strFileRenameFi);
  
   String strFileRenameToFi=strDealPath+UnicodeToChinese(request.getParameter("newFileName"));
   File fileRenameToFi=new File(strFileRenameToFi);
  
   //判斷更名的文件是否存在
   if(fileRenameFi.exists()){
    //判斷新的文件名稱是否與現(xiàn)存的文件重名
    if(!fileRenameToFi.exists())
    {
     fileRenameFi.renameTo(fileRenameToFi);
     response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); 
     return;
    }else
    {
     strErr="指定的文件名稱和現(xiàn)有的文件名稱重復,請重新指定一個文件名稱!";
    }
   }else{
    strErr="要更名的文件不存在,請重新選擇";
   }
 
  }catch(Exception e)
  {
   strErr="文件更名操作錯誤!";
  }
 }
}else if(request.getParameter("act").equals("delFileDo"))
{
 //刪除操作
 try{
  String strFileDelFi=strDealPath+UnicodeToChinese(request.getParameter("file"));
  File fileDelFi=new File(strFileDelFi);
 
  if(fileDelFi.exists())
  {
   fileDelFi.delete();
   response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); 
   return;
  }else{
   strErr="要刪除的文件不存在,請重新選擇";
  }
 
 }catch(Exception e)
 {
  strErr="文件刪除操作錯誤!";
 }
}else if(request.getParameter("act").equals("uploadFile"))
{
 strStat="uploadFile";
}else if(request.getParameter("act").equals("uploadFileDo"))
{
%>
 <jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
 //上傳文件操作
 mySmartUpload.initialize(pageContext);
 mySmartUpload.setTotalMaxFileSize(1000000);

 try {
  mySmartUpload.upload();
  mySmartUpload.save(strDealPath);
 
  response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); 
  return; 
 } catch (Exception e) {
  strErr="文件上傳出錯,請檢查是否超過1M 的文件大小限制!";
 }

}

%>
<%
out.println(strStat);
%>

<HTML><HEAD><TITLE>Directory Listing For /</TITLE>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY bgColor=white>
<div align="center">
  <table border=0 cellpadding=5 cellspacing=0 width="90%">
    <tbody>
    <tr>
      <td align=left bgcolor=#000066 valign=bottom><font color=#ffffff face=宋體
      size=4 Roman? New ,?times><b>&nbsp;網(wǎng)站文件管理器</b></font></td>
      <td align=right bgcolor=#000066 valign=bottom><font color=#ffffff face=宋體
      size=4 Roman? New ,?times><b>&nbsp;<strong><%=request.getContextPath()%></strong></b></font></td>
    </tr>
    </tbody>
  </table>
  <table width="90%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td><font size="2"><b>物理路徑:</b><%=strDealPath%></font></td>
    </tr>
 </table>
  <br>
  <% if (strStat.equals("login")){%>
  <table width="300" border="0" cellspacing="1" cellpadding="0" >
    <tr>
    <td height="200" valign="top" align="center">
      <p align="center">
        <table width="100%" border="0" cellspacing="1" cellpadding="5" bgcolor=#999999 class=a9px>
          <tr>
            <td bgcolor="#cccccc"><font size=+2>登錄</font></td>
        </tr>
        <tr>
            <td bgcolor="#FFFFFF" valign="top" align="center">
              <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <form name=dataform method=post action='<%=request.getRequestURI()%>?act=login'>
                  <tr>
                    <td width="100"><b><font size="-1">登錄名:</font></b></td>
                    <td>
                      <input maxlength=16
              name="username" value="">
                    </td>
                  </tr>
                  <tr>
                    <td width="100"><b><font size="-1">密碼:</font></b></td>
                    <td>
                      <input  class=stedit  maxlength=16
                  name="userpass" value="">
                    </td>
                  </tr>
                </form>
              </table>
            <br>
              <table border=0 cellpadding=0 cellspacing=0>
                <tbody>
                <tr>
                  <td>
                    <input  name=update onClick="javascript:if (checkform()==false);" type=button value="登    錄">
                  </td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
                </tbody>
              </table>
              <br>
            </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
  <%  //錯誤信息顯示
}else if(strErr!=""){
 %>
  <table width="90%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td><font size=+2><strong>操作錯誤</strong></font></td>
    </tr>
  </table>
  <table align=center cellpadding=5 cellspacing=0 width="90%">
    <form name=dataForm2

action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques

t.getParameter("fold"))%>&act=renameFoldDo" method="post">
      <tbody>
      <tr bgcolor=#cccccc>
        <td align=left bgcolor="#cccccc"><strong><font size="-1">錯誤原因:</font></strong></td>
      </tr>
      <tr>
        <td align=left><TT><font color="red"><%=strErr%></font></TT>
        </td>
      </tr>
      <tr>
        <td bgcolor=#cccccc align="center"><TT>[ <a href="javascript:history.go(-1);">返回操作</a> ]</TT>&nbsp;&nbsp;<tt>[ <a

href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a>
          ]<input type=hidden name="changeDo" value="false"></tt> </td>
      </tr>
      </tbody>
    </form>
  </table>
 
 <%
 }else  if(strStat.equals("show")){
 //正常顯示頁面
  %>
 <table width="90%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td><font size=+2><strong>目錄列表:</strong></font></td>
    </tr>
  </table>
  <table align=center cellpadding=5 cellspacing=0 width="90%">
    <tbody>
    <tr bgcolor=#cccccc>
      <td align=left><font size=+1><strong><font size="-1">名稱</font></strong></font><TT>(單擊進入相應目錄)</TT></td>
      <td align=center><font size=+1><strong><font size="-1">修改時間</font></strong></font></td>
      <td align=center><b><font size="-1">重命名</font></b></td>
      <td align=center><b><font size="-1">刪除</font></b></td>
    </tr>
    <%
 //顯示表格行的初始顏色
    String bgColor="";
 //如果不是根目錄,則顯示一個回到上層目錄的連接
 if(!(strDealPath.equals(strSysPath))){%>
    <tr bgcolor=<%=bgColor%>>
      <td align=left >&nbsp;&nbsp;<tt><font color=#000066 face=WingDings
      size=4>0</font><a title="單擊進入上層目錄"

href="<%=request.getRequestURI()%>?path=<%=(myFile.getParent())+"\\"%>&act=show">上層目錄</a></tt></td>
      <td align=right>&nbsp;</td>
      <td align=center>&nbsp;</td>
      <td align=center>&nbsp;</td>
    </tr>
    <% } 
    for(int i=0 ; i<fileArr.length ; i++){
   //如果是文件夾則顯示
   if(fileArr[i].isDirectory()){
    //顏色隔行變換
       bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee";
     %>
    <tr bgcolor=<%=bgColor%>>
      <td align=left >&nbsp;&nbsp;<tt><FONT color=#000066 face=WingDings
      size=4>0</FONT><a title="單擊進入相應目錄"

href="<%=request.getRequestURI()%>?path=<%=strDealPath+fileArr[i].getName()+"\\"%>&act=show"><%=fileArr[i].getName()%></a></t

t></td>
      <td align=center><tt><%=(new Date(fileArr[i].lastModified()))%></tt></td>
      <td align=center><TT><a

href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&fold=<%=fileArr[i].getName()%>&act=renameFold">重命名</a></TT></td>
      <form name="dataFormFold<%=i%>" method="post"

action="<%=request.getRequestURI()%>?path=<%=strDealPath%>&fold=<%=fileArr[i].getName()%>&act=delFoldDo"><td

align=center><TT><a href="javascript:if(confirm('確實要刪除該文件夾,所有的內(nèi)容將不能繼續(xù)使用?

')){window.dataFormFold<%=i%>.submit();}">刪除</a></TT></td></form>
    </tr>
    <% }
  } %>
    <tr align="center">
      <td bgcolor=#cccccc colspan=4><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=createF">新建文件夾

</a>
        ]</TT></td>
    </tr>
    </tbody>
  </table>
  <table width="90%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td><font size=+2><strong>文件列表:</strong></font></td>
    </tr>
  </table>
  <TABLE align=center cellPadding=5 cellSpacing=0 width="90%">
    <TBODY>
    <TR bgColor=#cccccc>
      <TD align=left><FONT size=+1><STRONG><font size="-1">名稱</font></STRONG></FONT><TT>(單擊編輯相應文件)</TT></TD>
      <TD align=center><FONT size=+1><strong><font size="-1">大小</font></strong></FONT></TD>
      <TD align=center><FONT size=+1><STRONG><font size="-1">修改時間</font></STRONG></FONT></TD>
      <TD align=center><b><font size="-1">重命名</font></b></TD>
      <TD align=center><b><font size="-1">刪除</font></b></TD>
    </TR>
    <%
   bgColor="#eeeeee";
if(fileArr.length!=0){
    for(int i=0 ; i<fileArr.length ; i++){
   //如果是文件則顯示
   if(fileArr[i].isFile()){
      bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee";
     %>
    <TR bgColor=<%=bgColor%>>
      <TD align=left >&nbsp;&nbsp; <TT><FONT color=#000066 face=WingDings
      size=4>3</FONT><a title="單擊編輯相應文件"

href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&file=<%=fileArr[i].getName()%>&act=edit"><%=fileArr[i].getName()%></

a></TT></TD>
      <TD align=center><TT><%=fileArr[i].length()%></TT></TD>
      <TD align=center><TT><%=(new Date(fileArr[i].lastModified()))%></TT></TD>
      <TD align=center><TT><a

href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&file=<%=fileArr[i].getName()%>&act=renameFile">重命名</a></TT></TD>
      <form name="dataFormFile<%=i%>" method="post"

action="<%=request.getRequestURI()%>?path=<%=strDealPath%>&file=<%=fileArr[i].getName()%>&act=delFileDo"><TD

align=center><TT><a href="javascript:if(confirm('確實要刪除該文件,內(nèi)容將不能繼續(xù)使用?

')){window.dataFormFile<%=i%>.submit();}">刪除</a></TT></TD></form>
    </TR>
    <%  }
   }
}else {%>
    <TR>
      <TD align=left >&nbsp;&nbsp; <TT>沒有文件</TT></TD>
      <TD align=right>&nbsp;</TD>
      <TD align=right>&nbsp;</TD>
      <TD align=center>&nbsp;</TD>
      <TD align=center>&nbsp;</TD>
    </TR>
    <%}%>
    <TR align="center">
      <TD bgColor=#cccccc colSpan=5><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=uploadFile">上傳文

件</a> ]</TT></TD>
    </TR>
    </TBODY>
  </TABLE>
<%
 //正常顯示狀態(tài)結束
}else if(strStat.equals("edit")){
 //文件編輯狀態(tài)
 BufferedReader bufReadIn=new BufferedReader(new

FileReader(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))));
 String strContext="";
 String strReadLine="";
%>
 <table width="90%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td><font size=+2><strong>編輯文件:</strong></font></td>
    </tr>
  </table>
 
  <table align=center cellpadding=5 cellspacing=0 width="90%">
  <form name=dataForm

action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(reques

t.getParameter("file"))%>&act=editDo" method="post">
    <tbody>
    <tr bgcolor=#cccccc>
        <td align=left><font size=+1><strong><font size="-1">文件名稱</font></strong></font><tt><font color=#000066

face=WingDings
     

size=4>3</font><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))%></tt></td>
    </tr>
    <tr>
      <td align=center><textarea name="fileData" rows=18 cols=70 wrap=""OFF""><%
       while((strReadLine=bufReadIn.readLine())!=null)
  out.println(strReadLine);
 
 bufReadIn.close();%></textarea></td>
    </tr>
    <tr>
      <td bgcolor=#cccccc align="center">
        <TT>[ <a href="javascript:window.dataForm.submit();">提交內(nèi)容</a> ]</TT>&nbsp;&nbsp;<TT>[ <a

href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a> ]</TT>
      </td>
    </tr>
    </tbody>
 </form>
  </table>
  <%
}else if(strStat.equals("createF")){
%>
 <table width="90%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td><font size=+2><strong>創(chuàng)建文件夾:</strong></font></td>
    </tr>
  </table>
  <table align=center cellpadding=5 cellspacing=0 width="90%">
    <form name=dataForm

action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=createFDo" method="post">
      <tbody>
      <tr bgcolor=#cccccc>
        <td align=left><font size=+1><strong><font size="-1">你要創(chuàng)建的文件夾在</font></strong></font><font color=#000066

face=WingDings
      size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="-1">下

</font></strong></font></td>
      </tr>
      <tr>
        <td align=left>
          <TT>新建文件夾名稱:</TT><input type=text name=foldName value="" maxlength="50" size="50">
        </td>
      </tr>
      <tr>
        <td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm()==false);">提交內(nèi)容</a>
          ]</tt>&nbsp;&nbsp;<tt>[ <a

href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a>
          ]</tt> </td>
      </tr>
      </tbody>
    </form>
  </table>
  <%
}else if(strStat.equals("renameFold"))
{ %>
  <table width="90%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td><font size=+2><strong>重命名文件夾:</strong></font></td>
    </tr>
  </table>
  <table align=center cellpadding=5 cellspacing=0 width="90%">
    <form name=dataForm2

action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques

t.getParameter("fold"))%>&act=renameFoldDo" method="post">
      <tbody>
      <tr bgcolor=#cccccc>
        <td align=left><font size=+1><strong><font size="-1">你要重命名的文件夾</font></strong></font><font color=#000066

face=WingDings
     

size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("fold"))+"\\")%><

/tt></td>
      </tr>
      <tr>
        <td align=left> <tt>重命名的文件夾名稱:</tt>
          <input type=text name=newFoldName value="<%=UnicodeToChinese(request.getParameter("fold"))%>" maxlength="50"

size="50">
        </td>
      </tr>
      <tr>
        <td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm2()==false);">提交內(nèi)容</a>
          ]</tt>&nbsp;&nbsp;<tt>[ <a

href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a>
          ]<input type=hidden name="changeDo" value="false"></tt> </td>
      </tr>
      </tbody>
    </form>
  </table>
  <%
}else if(strStat.equals("renameFile"))
{%>
  <table width="90%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td><font size=+2><strong>重命名文件:</strong></font></td>
    </tr>
  </table>
  <table align=center cellpadding=5 cellspacing=0 width="90%">
    <form name=dataForm3

action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(reques

t.getParameter("file"))%>&act=renameFileDo" method="post">
      <tbody>
      <tr bgcolor=#cccccc>
        <td align=left><font size=+1><strong><font size="-1">你要重命名的文件</font></strong></font><font color=#000066

face=WingDings
     

size=4>3</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))%></tt><

/td>
      </tr>
      <tr>
        <td align=left> <tt>重命名的文件名稱:</tt>
          <input type=text name=newFileName value="<%=UnicodeToChinese(request.getParameter("file"))%>" maxlength="50"

size="50">
        </td>
      </tr>
      <tr>
        <td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm3()==false);">提交內(nèi)容</a>
          ]</tt>&nbsp;&nbsp;<tt>[ <a

href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a>
          ]
          <input type=hidden name="changeDo" value="false">
          </tt> </td>
      </tr>
      </tbody>
    </form>
  </table>
  <%
}else if(strStat.equals("uploadFile")){
%>
<table width="90%" border="0" cellspacing="0" cellpadding="5">
    <tr>
      <td><font size=+2><strong>上傳文件:</strong></font></td>
    </tr>
  </table>
  <table align=center cellpadding=5 cellspacing=0 width="90%">
    <form name=dataForm4

action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=uploadFileDo" method="post"

 ENCTYPE="multipart/form-data">
      <tbody>
      <tr bgcolor=#cccccc>
        <td align=left><font size=+1><strong><font size="-1">你要上傳的文件在</font></strong></font><font color=#000066

face=WingDings
      size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="-1">下

</font></strong></font></td>
      </tr>
      <tr>
        <td align=left> <tt>選擇上傳的文件:</tt>
          <INPUT TYPE="FILE" NAME="fileName" SIZE="30"></td>
      </tr>
      <tr>
        <td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm4()==false);">提交內(nèi)容</a>
          ]</tt>&nbsp;&nbsp;<tt>[ <a

href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a>
          ]
          </tt> </td>
      </tr>
      </tbody>
    </form>
  </table>
<%
}
%>
<br>
<br>
<hr>
<TT>&copy;版權所有:Joard·Ast  版本: 簡體中文1.00</TT>
<br><TT>任何意見或建議請聯(lián)絡:<a href="mailto:ebony_mzb@hotmail.com"><font color=red>ebony_mzb@hotmail.com</font></a></TT>

</div>
</BODY></HTML>
<SCRIPT LANGUAGE=javascript>
<!--

<%
//根據(jù)參數(shù)不同,顯示不同的檢測參數(shù)的函數(shù)
if(strStat.equals("login")) {%>
function checkform()
{
 var Checkblank = /^(\s* (\ ) (\.))*$/;

 if (Checkblank.test(dataform.username.value))   
{
          alert("登錄名不能為空!");
   return false;
         }
        
         if (Checkblank.test(dataform.userpass.value))   
{
          alert("密碼不能為空!");
   return false;
         }


      window.dataform.submit();

   }
<%}else if(strStat.equals("createFold")) {%>
  function checkForm()

 var Checkblank = /^(\s* (\ ) (\.))*$/;
 if (Checkblank.test(dataForm.foldName.value))
 {
          alert("新建文件夾名稱不能為空!");
          dataForm.foldName.focus();
   return false;
         }
        
 var SPECIAL_STR = "\\/:*?\">< ";
 for(i=0;i<(dataForm.foldName.value).length;i++)
 {
  if (SPECIAL_STR.indexOf((dataForm.foldName.value).charAt(i)) !=-1)
  {
   alert("文件夾名稱不能含有如下字符\\/:*?\">< ");
   dataForm.foldName.focus();
   return false;
  }
 }
        
        window.dataForm.submit();
  }
 
  <%}else if(strStat.equals("renameFold")) {%>
    function checkForm2()

 var Checkblank = /^(\s* (\ ) (\.))*$/;
 if (Checkblank.test(dataForm2.newFoldName.value))
 {
          alert("重命名的文件夾名稱不能為空!");
          dataForm2.newFoldName.focus();
   return false;
         }
        
 var SPECIAL_STR = "\\/:*?\">< ";
 for(i=0;i<(dataForm2.newFoldName.value).length;i++)
 {
  if (SPECIAL_STR.indexOf((dataForm2.newFoldName.value).charAt(i)) !=-1)
  {
   alert("文件夾名稱不能含有如下字符\\/:*?\">< ");
   dataForm2.newFoldName.focus();
   return false;
  }
 }
 //如果文件更名后和原文件名不同,則標示一個參數(shù),表明確實有更名動作發(fā)生
 if(dataForm2.newFoldName.value!="<%=UnicodeToChinese(request.getParameter("fold"))%>")
 {
  window.dataForm2.changeDo.value="true";
 }
 else
 {
  alert("請輸入一個新的文件夾名稱!");
  dataForm2.newFoldName.focus();
  return false;
 }
 
        window.dataForm2.submit();

}
<%}else if(strStat.equals("renameFile"))
{%>
    function checkForm3()

 var Checkblank = /^(\s* (\ ) (\.))*$/;
 if (Checkblank.test(dataForm3.newFileName.value))
 {
          alert("重命名的文件夾名稱不能為空!");
          dataForm3.newFileName.focus();
   return false;
         }
        
 var SPECIAL_STR = "\\/:*?\">< ";
 for(i=0;i<(dataForm3.newFileName.value).length;i++)
 {
  if (SPECIAL_STR.indexOf((dataForm3.newFileName.value).charAt(i)) !=-1)
  {
   alert("文件名稱不能含有如下字符\\/:*?\">< ");
   dataForm3.newFileName.focus();
   return false;
  }
 }
 //如果文件更名后和原文件名不同,則標示一個參數(shù),表明確實有更名動作發(fā)生
 if(dataForm3.newFileName.value!="<%=UnicodeToChinese(request.getParameter("file"))%>")
 {
  window.dataForm3.changeDo.value="true";
 }
 else
 {
  alert("請輸入一個新的文件名稱!");
  dataForm3.newFileName.focus();
  return false;
 }
 
        window.dataForm3.submit();

}

<%}else if(strStat.equals("uploadFile")){%>
    function checkForm4()

 var Checkblank = /^(\s* (\ ) (\.))*$/;
 if (Checkblank.test(dataForm4.fileName.value))
 {
          alert("重命名的文件夾名稱不能為空!");
          dataForm4.fileName.focus();
   return false;
         }
 
        window.dataForm4.submit();

}

<%}%>
//-->
</SCRIPT>