📄 2.html
字号:
<%-- oddWorld 网站文件管理系统(简体中文版) 2003年10月10日
copy right by joard Ast
admin.jsp 功能:网站文件后台管理页面。
--%>
<%@ 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.*" %>
<% //中文字符转换%>
<%!
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";
//得到系统路径
ServletContext app=(ServletContext)pageContext.getServletContext();
String strSysPath = app.getRealPath("/");
//处理对象物理路径
String strDealPath="";
//显示错误信息
String strErr="";
//代表页面的显示状态,login 是显示登陆页面;show 是正常的显示文件信息;edit 是显示编辑文件的页面;editDo 是编辑文件的写入操作
;createF 是显示创建文件夹的页面;createFDo 是创建文件夹的操作;renameFold 是显示更改文件夹名称的页面;renameFoldDo 是更改文
件夹名称的操作;delFoldDo 是删除文件夹的操作;renameFile 是显示更改文件名称的页面;renameFileDo 是更改文件名称的操作;
delFileDo 是删除文件的操作;uploadFile 是显示上传文件的页面;uploadFileDo 是上传文件的操作;
String strStat="login";
//用于show 状态下显示文件的数组
File[] fileArr=null;
//根据传递的路径参数得到要处理对象的物理路径
if (request.getParameter("path")==null || request.getParameter("path").equals("")){
strDealPath=strSysPath;
}else{
//得到路径参数
strDealPath=UnicodeToChinese(request.getParameter("path"));
}
//检查session 的值是否存在,如果不存在着显示错误信息
//HttpSession session = request.getSession(false);
if (session.getValue("loginIn")==null || !session.getValue("loginIn").equals("pass"))
{
strStat="login";
strErr="你还没有登陆或者登陆超时,请重新登陆!";
}
//创建file 对象,检查目录是否存在
File myFile=new File(strDealPath);
//检验文件夹是否存在
if(!myFile.exists()){
strErr="你选择的文件夹不存在,请重新选择!";
}
//根据参数的不同,进行对应的操作
if(request.getParameter("act")==null || request.getParameter("act").equals("") ||
request.getParameter("act").equals("login"))
{
if(request.getParameter("username")!=null && request.getParameter("userpass")!=null)
{
//正确的经过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";
//创建文件列表数组
fileArr=myFile.listFiles();
}else if(request.getParameter("act").equals("edit"))
{
//编辑文件内容的页面
//根据是否有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"))
{
//把修改的内容写入文件,并且返回修改页面
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 显示文件的内容,继续来做编辑或者
查看修改的效果
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="缺少修改文件内容的参数,请重新选择!";
}
}else
//显示错误信息
strErr="你选择的文件不存在,请重新选择!";
}else{
strErr="你没有选择要编辑的文件,请重新选择!";
}
}else if(request.getParameter("act").equals("createF"))
{
//创建新的文件夹的页面显示
strStat="createF";
}else if(request.getParameter("act").equals("createFDo"))
{
//创建新的文件夹
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="创建新文件夹失败!";
}
}
else
{
strErr="指定的文件夹名称和现有的文件夹名称重复,请重新指定一个新的文件夹名称!";
}
}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"))
{
//文件夹更名操作
//根据参数判断是否对于文件夹名称有更改动作发生
if(request.getParameter("changeDo").equals("true"))
{
//有文件名,更名发生
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()){
//判断新的文件夹名称是否与现存的文件夹重名
if(!fileRenameToF.exists())
{
fileRenameF.renameTo(fileRenameToF);
response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
return;
}else
{
strErr="指定的文件夹名称和现有的文件夹名称重复,请重新指定一个文件夹名称!";
}
}else{
strErr="要更名的文件夹不存在,请重新选择";
}
}catch(Exception e)
{
strErr="文件夹更名操作错误!";
}
}
}else if(request.getParameter("act").equals("renameFile"))
{
strStat="renameFile";
}else if(request.getParameter("act").equals("renameFileDo"))
{
//文件更名操作
//根据参数判断是否对于文件名称有更改动作发生
if(request.getParameter("changeDo").equals("true"))
{
//有文件名,更名发生
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()){
//判断新的文件名称是否与现存的文件重名
if(!fileRenameToFi.exists())
{
fileRenameFi.renameTo(fileRenameToFi);
response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
return;
}else
{
strErr="指定的文件名称和现有的文件名称重复,请重新指定一个文件名称!";
}
}else{
strErr="要更名的文件不存在,请重新选择";
}
}catch(Exception e)
{
strErr="文件更名操作错误!";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -