แนวคิดการออกแบบเบื้องหลังการพัฒนาไฟล์นี้คือสิ่งนี้ ลูกค้าเว็บไซต์หรือซอฟต์แวร์ B/S บางแห่งมักจะมีข้อกำหนดพิเศษสำหรับรายละเอียดบางอย่างในระหว่างขั้นตอนการติดตั้งและการดีบั๊กของซอฟต์แวร์ อาจมีการปรับแบบอักษร หรือการเปลี่ยนแปลงอินเทอร์เฟซเล็กน้อย เมื่อต้องเผชิญกับสถานการณ์เช่นนี้ หากผู้ใช้ไม่เปิดฟังก์ชัน FTP เจ้าหน้าที่ฝ่ายพัฒนาและบำรุงรักษามักจะต้องไปที่ไซต์เพื่อทำงานแก้ไขจุดบกพร่องเล็กๆ น้อยๆ
นั่นถือเป็นการเสียเวลา กำลังคน และทรัพยากรวัสดุ
ภายใต้สถานการณ์เช่นนี้ ฉันพัฒนาไฟล์หน้าเดียว JSP นี้พร้อมฟังก์ชันการจัดการไฟล์ มีฟังก์ชันในการเพิ่ม เปลี่ยนชื่อ และลบโฟลเดอร์ การแก้ไข เปลี่ยนชื่อ การลบ และการอัพโหลดไฟล์ โดยพื้นฐานแล้วมันสามารถตอบสนองงานแก้ไขเล็กๆ น้อยๆ ในระหว่างขั้นตอนการติดตั้งและการดีบักของซอฟต์แวร์
ด้วยเหตุผลด้านความปลอดภัย เพจ JSP นี้จัดเตรียมฟังก์ชันการล็อกอินของผู้ใช้อย่างง่าย
ก่อนใช้งาน ให้วางไฟล์นี้ในไฟล์เว็บไซต์หรือไดเร็กทอรีใดๆ ของผลิตภัณฑ์ B/S เปิดสิทธิ์การอ่านและเขียนสำหรับไดเร็กทอรีการติดตั้งไฟล์ ผู้ใช้สามารถล็อกอินเข้าสู่เพจ JSP จากระยะไกลเพื่อใช้ฟังก์ชันการจัดการ หลังจากขั้นตอนการติดตั้งและบำรุงรักษาเสร็จสิ้น โปรดแก้ไขสิทธิ์การอ่านและเขียนของไดเร็กทอรีการติดตั้งไฟล์ และลบไฟล์เพื่อหลีกเลี่ยงความเสี่ยงด้านความปลอดภัย
ตามค่าเริ่มต้น ชื่อผู้ใช้สำหรับเข้าสู่ระบบคือ: ผู้ดูแลระบบ และรหัสผ่านคือ:
สภาพแวดล้อมการพัฒนา Oddworld jakarta-tomcat-4.0.3.exe
หมายเหตุ: เนื่องจากฟังก์ชันการอัปโหลดไฟล์ของซอฟต์แวร์นี้ต้องได้รับการสนับสนุนโดยส่วนประกอบ smartupload โปรดวาง smartupload ไว้ใต้โฟลเดอร์ web-inf ของ Tomcat หากส่วนประกอบที่คุณรองรับการอัปโหลดแตกต่างออกไป โปรดทำการปรับเปลี่ยนด้วยตนเอง
คำแนะนำการพัฒนาโดยย่อ: เนื่องจากเอกสารนี้ไม่ซับซ้อนและฉันรู้สึกว่าถึงแม้คำอธิบายเอกสารจะไม่ได้มาตรฐาน แต่ก็มีรายละเอียดด้วย ดังนั้นฉันจึงตั้งใจจะอธิบายรายละเอียดเล็กๆ น้อยๆ สั้นๆ เท่านั้น
1. เมื่อไฟล์นี้ดำเนินการไดเร็กทอรีไฟล์ ไดเร็กทอรีจะถูกส่งโดยตรงเป็นพารามิเตอร์โดยไม่มีการแปลงที่สอดคล้องกัน เนื่องจากในจาวา "อักขระภาษาอังกฤษ" อาจถือเป็นอักขระหลีก ทำให้เกิดปัญหาที่ไม่คาดคิดในระหว่างการประมวลผลอักขระ ดังนั้นฉันคิดว่าการใช้ไดเร็กทอรีเป็นพารามิเตอร์โดยตรงจะเหมาะสมกว่า
2. เอกสารนี้ใช้การเชื่อมต่อแทนปุ่มเมื่อส่งแบบฟอร์มบางส่วน เนื่องจากเมื่อ JavaScript ประมวลผลสตริงด้วย "" อาจประมวลผลอักขระหลีกด้วย ดังนั้น เพื่อป้องกันสถานการณ์นี้ ดังนั้นการส่งผ่านพารามิเตอร์ไดเรกทอรีจึงใช้ แบบฟอร์มการเชื่อมต่อ
3. strStat และ strErr เป็นสองสตริงที่ทำงานตลอดทั้งไฟล์ คำสั่งแรกคือคำสั่งการตัดสินใจสำหรับการดำเนินการที่เพจจะดำเนินการ และอย่างหลังคือแจ้งข้อมูลสำหรับข้อผิดพลาดในการดำเนินการทั้งหมด
4. ฉันจะไม่อธิบายความปลอดภัยหรือข้อพิพาทอื่นใดที่อาจเกิดขึ้นจากเอกสารนี้ ฉันเพียงให้ไฟล์นี้เป็นเครื่องมือฟรีสำหรับการอ้างอิงและการใช้งานของทุกคน
-------------------------------------------------- -------------------------------------------------- ---------------
เนื้อหาไฟล์ admin.jsp
<%-- ระบบจัดการไฟล์เว็บไซต์ OddWorld (เวอร์ชันภาษาจีนตัวย่อ) 10 ตุลาคม 2546
คัดลอกขวาโดย joard Ast
ฟังก์ชั่น admin.jsp: หน้าการจัดการพื้นหลังไฟล์เว็บไซต์
-
<%@ หน้า contentType="text/html;charset=gb2312" %>
<%@ หน้านำเข้า = "java.io.*" %>
<%@ เพจ import="java.util.Date" %>
<%@ นำเข้าหน้า = "com.jspsmart.upload.SmartUpload" %>
<%@ เพจนำเข้า = "javax.servlet.http.HttpSession" %>
<%@ เพจนำเข้า = "javax.servlet.http.HttpServletRequest" %>
<%@ หน้า import="java.lang.reflect.*" %>
<% //การแปลงอักษรจีน%>
<%!
สตริงสาธารณะ UnicodeTo Chinese (สตริง s) {
พยายาม{
if(s==null||s.equals("")) กลับ "";
สตริง newstring=null;
newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
ส่งคืนสตริงใหม่;
-
จับ (UnsupportedEncodingException e)
-
กลับ;
-
}
สตริงสาธารณะคง ChineseToUnicode (สตริง s) {
พยายาม{
if(s==null||s.equals("")) กลับ "";
สตริง newstring=null;
newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
ส่งคืนสตริงใหม่;
-
จับ (UnsupportedEncodingException e)
-
กลับ;
-
-
-
-
//ปัญหาการรีเฟรช
response.setHeader("Pragma", "ไม่มีแคช");
response.setHeader("ควบคุมแคช", "ไม่มีแคช");
response.setDateHeader("หมดอายุ", 0);
//กำหนดรหัสผ่านและชื่อผู้ใช้สำหรับการเข้าสู่ระบบ
//แก้ไขชื่อผู้ใช้
สตริงชื่อผู้ใช้ = "ผู้ดูแลระบบ"
//แก้ไขรหัสผ่าน
String userpass="oddworld";
//รับเส้นทางของระบบ
แอป ServletContext=(ServletContext)pageContext.getServletContext();
String strSysPath = app.getRealPath("/");
// ประมวลผลเส้นทางทางกายภาพของวัตถุ
String strDealPath="";
//แสดงข้อความแสดงข้อผิดพลาด
สตริง strErr="";
//แสดงถึงสถานะการแสดงผลของเพจ การเข้าสู่ระบบคือการแสดงหน้าการเข้าสู่ระบบ การแสดงคือการแสดงข้อมูลไฟล์ตามปกติ แก้ไขคือการแสดงหน้าของการแก้ไขไฟล์ editDo คือการดำเนินการเขียนของการแก้ไข
ไฟล์ หน้าการสร้างโฟลเดอร์ createFoldDo คือการดำเนินการสร้างโฟลเดอร์ renameFold คือหน้าที่แสดงชื่อของ
โฟลเดอร์
renameFoldDo คือ การดำเนินการลบโฟลเดอร์ เพจที่แสดงชื่อไฟล์ renameFileDo คือการดำเนินการเปลี่ยนชื่อไฟล์
delFileDo คือการดำเนินการลบไฟล์
String strStat="login";
//Array ใช้เพื่อแสดงไฟล์ในสถานะแสดง
File[] fileArr=null;
//รับเส้นทางทางกายภาพของวัตถุที่จะประมวลผลตามพารามิเตอร์เส้นทางที่ส่งผ่าน
ถ้า (request.getParameter("path")==null || request.getParameter("path").equals("")){
strDealPath=strSysPath;
}อื่น{
// รับพารามิเตอร์เส้นทาง
strDealPath=UnicodeTo Chinese(request.getParameter("เส้นทาง"));
}
//ตรวจสอบว่ามีค่าเซสชันอยู่หรือไม่ หากไม่มี ให้แสดงข้อความแสดงข้อผิดพลาด
//HttpSession session = request.getSession(เท็จ);
if (session.getValue("loginIn")==null || !session.getValue("loginIn").equals("pass"))
-
strStat="เข้าสู่ระบบ";
strErr="คุณยังไม่ได้เข้าสู่ระบบ หรือการเข้าสู่ระบบของคุณหมดเวลา กรุณาเข้าสู่ระบบอีกครั้ง!";
}
//สร้างวัตถุไฟล์และตรวจสอบว่ามีไดเร็กทอรีอยู่หรือไม่
ไฟล์ myFile=new File(strDealPath);
//ตรวจสอบว่ามีโฟลเดอร์อยู่หรือไม่
ถ้า(!myFile.exists()){
strErr="ไม่มีโฟลเดอร์ที่คุณเลือก โปรดเลือกอีกครั้ง!";
}
//ตามพารามิเตอร์ที่แตกต่างกัน ให้ดำเนินการที่เกี่ยวข้อง
if(request.getParameter("act")==null || request.getParameter("act").equals("") ||
request.getParameter("act").equals("login"))
-
if(request.getParameter("ชื่อผู้ใช้")!=null && request.getParameter("userpass")!=null)
-
//แก้ไขรหัสผ่านที่เข้ารหัส MD5
//String userpass = "OEEO99107DC8C1EE2E06666B965601EF";
if(request.getParameter("ชื่อผู้ใช้").equals(ชื่อผู้ใช้) && (request.getParameter("userpass")).equals(userpass))
-
session.putValue("loginIn", "ผ่าน");
response.sendRedirect(request.getRequestURI()+"?act=show");
-
-
อื่น {
strStat="เข้าสู่ระบบ";
strErr="คุณยังไม่ได้เข้าสู่ระบบ หรือการเข้าสู่ระบบของคุณหมดเวลา กรุณาเข้าสู่ระบบอีกครั้ง!";
-
}else if(request.getParameter("act").equals("show")){
//ค่าเริ่มต้น หน้าจะแสดงข้อมูลไฟล์ตามปกติ statStat="show"
strStat="แสดง";
//สร้างอาร์เรย์รายการไฟล์
fileArr=myFile.listFiles();
}else if(request.getParameter("act").equals("edit"))
-
//หน้าสำหรับแก้ไขเนื้อหาไฟล์
//ดูว่ามี request.getParameter("file") หรือไม่ และมีไฟล์ที่เกี่ยวข้องอยู่หรือไม่ ถ้ามี ให้ดำเนินการแก้ไข หากไม่มี ให้แสดงข้อความแสดงข้อผิดพลาด
if (!(request.getParameter("file")==null || request.getParameter("file").equals(""))){
ไฟล์ fileEdit=
ไฟล์ใหม่(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
ถ้า (fileEdit.exists())
//การดำเนินการแก้ไขไฟล์คือการเปลี่ยนการแสดงผลของเพจ และใช้พื้นที่ข้อความเพื่อแสดงข้อมูลไฟล์สำหรับการแก้ไข
strStat="แก้ไข";
อื่น
//แสดงข้อความแสดงข้อผิดพลาด
strErr="ไม่มีไฟล์ที่คุณเลือก โปรดเลือกอีกครั้ง!";
}อื่น{
strErr="คุณยังไม่ได้เลือกไฟล์ที่จะแก้ไข โปรดเลือกอีกครั้ง!";
-
}else if(request.getParameter("act").equals("editDo"))
-
//เขียนเนื้อหาที่แก้ไขลงในไฟล์และกลับสู่หน้าแก้ไข
ถ้า (!(request.getParameter("file")==null || request.getParameter("file").equals("")))
-
ไฟล์ fileEdit=
ไฟล์ใหม่(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
ถ้า (fileEdit.exists())
-
//การดำเนินการแก้ไขไฟล์คือการใช้พื้นที่ข้อความเพื่อแสดงเนื้อหาของไฟล์บนเพจหลังจากแก้ไขเนื้อหาไฟล์ และดำเนินการแก้ไขหรือ
ดูผลกระทบของการแก้ไข
ต่อไป
if(!(request.getParameter("fileData")==null))
-
พยายาม{
PrintWriter pwEdit = null;
pwEdit=new PrintWriter(
FileOutputStream ใหม่(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))));
pwEdit.println(UnicodeToChinese(request.getParameter("fileData")));
pwEdit.ปิด();
response.sendRedirect(request.getRequestURI()+"?path="+
UnicodeToChinese(request.getParameter("path")) +"&file="+ UnicodeToChinese(request.getParameter("file")) +"&act=edit" );
กลับ;
} จับ (ข้อยกเว้นจ) {
strErr="ข้อผิดพลาดในการเขียนไฟล์ โปรดเลือกอีกครั้ง!";
-
}อื่น{
strErr="พารามิเตอร์ในการแก้ไขเนื้อหาไฟล์หายไป โปรดเลือกอีกครั้ง!";
-
}อื่น
//แสดงข้อความแสดงข้อผิดพลาด
strErr="ไม่มีไฟล์ที่คุณเลือก โปรดเลือกอีกครั้ง!";
}อื่น{
strErr="คุณยังไม่ได้เลือกไฟล์ที่จะแก้ไข โปรดเลือกอีกครั้ง!";
-
} อื่น if(request.getParameter("act").equals("createF"))
-
//แสดงเพจเพื่อสร้างโฟลเดอร์ใหม่
strStat="createF";
}else if(request.getParameter("act").equals("createFDo"))
-
//สร้างโฟลเดอร์ใหม่
สตริง strFoldName=strDealPath+UnicodeToChinese(request.getParameter("foldName")).trim()+"\";
//out.println(strFoldName);
//out.close();
ไฟล์ fileCreateF=ไฟล์ใหม่ (strFoldName);
ถ้า(!fileCreateF.exists())
-
พยายาม{
fileCreateF.mkdir();
response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
กลับ;
} จับ (ข้อยกเว้นจ) {
strErr="ไม่สามารถสร้างโฟลเดอร์ใหม่ได้!";
-
-
อื่น
-
strErr="ชื่อโฟลเดอร์ที่ระบุเหมือนกับชื่อโฟลเดอร์ที่มีอยู่ โปรดระบุชื่อโฟลเดอร์ใหม่!";
-
} อื่น if(request.getParameter("act").equals("delFoldDo"))
-
//ลบการดำเนินการ
พยายาม{
สตริง strFileDelF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
ไฟล์ fileDelF=ไฟล์ใหม่ (strFileDelF);
ถ้า(fileDelF.exists()){
ไฟล์[] fileArrCheck=fileDelF.listFiles();
ถ้า(!(fileArrCheck.length>0))
-
fileDelF.ลบ();
response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
กลับ;
}อื่น
-
strErr="โฟลเดอร์ยังคงมีไฟล์อยู่ โปรดลบไฟล์ทั้งหมดแล้วลบโฟลเดอร์";
-
}อื่น{
strErr="ไม่มีโฟลเดอร์ที่จะลบ โปรดเลือกอีกครั้ง";
-
} จับ (ยกเว้น e)
-
strErr="ข้อผิดพลาดการดำเนินการลบโฟลเดอร์!";
-
} อื่น if(request.getParameter("act").equals("renameFold"))
-
strStat="renameFold";
} อื่น if(request.getParameter("act").equals("renameFoldDo"))
-
//การดำเนินการเปลี่ยนชื่อโฟลเดอร์
//ตรวจสอบว่ามีการเปลี่ยนแปลงชื่อโฟลเดอร์ตามพารามิเตอร์หรือไม่
if(request.getParameter("changeDo").เท่ากับ("true"))
-
//มีชื่อไฟล์และเกิดการเปลี่ยนชื่อ
พยายาม{
สตริง strFileRenameF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
ไฟล์ fileRenameF=ไฟล์ใหม่ (strFileRenameF);
สตริง strFileRenameToF=strDealPath+UnicodeToChinese(request.getParameter("newFoldName"))+"\";
ไฟล์ fileRenameToF=ไฟล์ใหม่ (strFileRenameToF);
//ตรวจสอบว่ามีโฟลเดอร์ที่ถูกเปลี่ยนชื่ออยู่หรือไม่
ถ้า (fileRenameF.exists ()) {
//ตรวจสอบว่าชื่อโฟลเดอร์ใหม่มีชื่อเดียวกันกับโฟลเดอร์ที่มีอยู่หรือไม่
ถ้า(!fileRenameToF.exists())
-
fileRenameF.renameTo(fileRenameToF);
response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
กลับ;
}อื่น
-
strErr="ชื่อโฟลเดอร์ที่ระบุเหมือนกับชื่อโฟลเดอร์ที่มีอยู่ โปรดระบุชื่อโฟลเดอร์ใหม่!";
-
}อื่น{
strErr="ไม่มีโฟลเดอร์ที่จะเปลี่ยนชื่อ โปรดเลือกอีกครั้ง";
-
} จับ (ยกเว้น e)
-
strErr="ข้อผิดพลาดการดำเนินการเปลี่ยนชื่อโฟลเดอร์!";
-
-
}else if(request.getParameter("act").equals("renameFile"))
-
strStat="renameFile";
}else if(request.getParameter("act").equals("renameFileDo"))
-
//การดำเนินการเปลี่ยนชื่อไฟล์
//ตรวจสอบว่ามีการเปลี่ยนแปลงชื่อไฟล์ตามพารามิเตอร์หรือไม่
if(request.getParameter("changeDo").เท่ากับ("true"))
-
//มีชื่อไฟล์และเกิดการเปลี่ยนชื่อ
พยายาม{
สตริง strFileRenameFi=strDealPath+UnicodeToChinese(request.getParameter("file"));
ไฟล์ fileRenameFi=ไฟล์ใหม่ (strFileRenameFi);
สตริง strFileRenameToFi=strDealPath+UnicodeToChinese(request.getParameter("newFileName"));
ไฟล์ fileRenameToFi=ไฟล์ใหม่ (strFileRenameToFi);
//ตรวจสอบว่ามีไฟล์ที่ถูกเปลี่ยนชื่ออยู่หรือไม่
ถ้า (fileRenameFi.exists ()) {
//ตรวจสอบว่าชื่อไฟล์ใหม่มีชื่อเดียวกันกับไฟล์ที่มีอยู่หรือไม่
ถ้า(!fileRenameToFi.exists())
-
fileRenameFi.renameTo(fileRenameToFi);
response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
กลับ;
}อื่น
-
strErr="ชื่อไฟล์ที่ระบุเหมือนกับชื่อไฟล์ที่มีอยู่ โปรดระบุชื่อไฟล์ใหม่!";
-
}อื่น{
strErr="ไม่มีไฟล์ที่จะเปลี่ยนชื่อ โปรดเลือกอีกครั้ง";
-
} จับ (ยกเว้น e)
-
strErr="ข้อผิดพลาดการดำเนินการเปลี่ยนชื่อไฟล์!";
-
-
} อื่น if(request.getParameter("act").equals("delFileDo"))
-
//ลบการดำเนินการ
พยายาม{
สตริง strFileDelFi=strDealPath+UnicodeToChinese(request.getParameter("file"));
ไฟล์ fileDelFi=ไฟล์ใหม่ (strFileDelFi);
ถ้า (fileDelFi.exists())
-
fileDelFi.delete();
response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
กลับ;
}อื่น{
strErr="ไม่มีไฟล์ที่ต้องการลบ โปรดเลือกอีกครั้ง";
-
} จับ (ยกเว้น e)
-
strErr="ข้อผิดพลาดการดำเนินการลบไฟล์!";
-
}else if(request.getParameter("act").equals("uploadFile"))
-
strStat="อัพโหลดไฟล์";
} อื่น if(request.getParameter("act").equals("uploadFileDo"))
-
-
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
-
//ปฏิบัติการอัพโหลดไฟล์
mySmartUpload.initialize(pageContext);
mySmartUpload.setTotalMaxFileSize(1000000);
ลอง {
mySmartUpload.upload();
mySmartUpload.save(strDealPath);
response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
กลับ;
} จับ (ข้อยกเว้นจ) {
strErr="ข้อผิดพลาดในการอัปโหลดไฟล์ โปรดตรวจสอบว่าขนาดไฟล์เกินขีดจำกัด 1M หรือไม่!";
}
}
%>
-
out.println(strStat);
%>
<HTML><HEAD><TITLE>รายชื่อไดเรกทอรีสำหรับ /</TITLE>
<เนื้อหา META="ข้อความ/html; charset=utf-8" http-equiv=ประเภทเนื้อหา>
<เนื้อหา META = "MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY bgColor=สีขาว>
<div align="center">
<เส้นขอบของตาราง=0 เซลล์แพดดิ้ง=5 ระยะห่างเซลล์=0 ความกว้าง="90%">
<tbody>
<tr>
<td align=left bgcolor=#000066 valign=bottom><font color=#ffffff face=宋体
size=4 Roman? ใหม่ ,?times><b> ตัวจัดการไฟล์เว็บไซต์</b></font></td>
<td align=right bgcolor=#000066 valign=bottom><font color=#ffffff face=宋体
size=4 Roman? ใหม่ ,?times><b> <strong><%=request.getContextPath()%></strong></b></font></td>
</tr>
</tbody>
</ตาราง>
<ความกว้างของตาราง="90%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><font size="2"><b>เส้นทางทางกายภาพ:</b><%=strDealPath%></font></td>
</tr>
</ตาราง>
<br>
<% ถ้า (strStat.equals("login")){%>
<table width="300" border="0" cellspacing="1" cellpadding="0" >
<tr>
<td height="200" valign="top" align="center">
<p align="center">
<ความกว้างของตาราง="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>
<อินพุตความยาวสูงสุด=16
ชื่อ = "ชื่อผู้ใช้" ค่า = "">
</td>
</tr>
<tr>
<td width="100"><b><font size="-1">รหัสผ่าน:</font></b></td>
<td>
<คลาสอินพุต=stedit ความยาวสูงสุด=16
ชื่อ = "รหัสผ่านผู้ใช้" ค่า = "">
</td>
</tr>
</แบบฟอร์ม>
</ตาราง>
<br>
<เส้นขอบตาราง=0 เซลล์แพดดิ้ง=0 ระยะห่างเซลล์=0>
<tbody>
<tr>
<td>
<input name=update onClick="javascript:if (checkform()==false);" type=button value="เข้าสู่ระบบ">
</td>
<td> </td>
<td> </td>
</tr>
</tbody>
</ตาราง>
<br>
</td>
</tr>
</ตาราง>
</td>
</tr>
</ตาราง>
<% //แสดงข้อความแสดงข้อผิดพลาด
} อื่น if(strErr!=""){
-
<ความกว้างของตาราง="90%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>ข้อผิดพลาดในการดำเนินการ</strong></font></td>
</tr>
</ตาราง>
<table align=center cellpadding=5 cellspacing=0 width="90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(ขอ
t.getParameter(" พับ"))%>&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> <tt >[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">กลับไปยังไดเรกทอรี</a>
]<input type=hidden name="changeDo" value="false"></tt> </td>
</tr>
</tbody>
</แบบฟอร์ม>
</ตาราง>
-
} อื่น ๆ if(strStat.equals("show")){
//แสดงหน้าตามปกติ
-
<ความกว้างของตาราง="90%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>รายการไดเรกทอรี:</strong></font></td>
</tr>
</ตาราง>
<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> (คลิกเพื่อเข้าสู่ไดเร็กทอรีที่เกี่ยวข้อง)< /font>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>
-
//แสดงสีเริ่มต้นของแถวในตาราง
สตริง bgColor="";
//หากไม่ใช่ไดเร็กทอรีราก ให้แสดงลิงก์กลับไปยังไดเร็กทอรีด้านบน
if(!(strDealPath.equals(strSysPath))){%>
<tr bgcolor=<%=bgColor%>>
<td align=left > <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> </td>
<td align=center> </td>
<td align=center> </td>
</tr>
-
สำหรับ(int i=0; i<fileArr.length; i++){
//หากเป็นโฟลเดอร์ให้แสดง
ถ้า(fileArr[i].isDirectory()){
// การแปลงแบบอินเทอร์เลซสี
bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee";
-
<tr bgcolor=<%=bgColor%>>
<td align=left > <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><%=(วันที่ใหม่(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('คุณต้องการลบโฟลเดอร์นี้จริง ๆ หรือไม่ เนื้อหาทั้งหมดจะไม่สามารถใช้ได้อีกต่อไป?
' )){ 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>
</ตาราง>
<ความกว้างของตาราง="90%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>รายการไฟล์:</strong></font></td>
</tr>
</ตาราง>
<TABLE align=center cellPadding=5 cellSpacing=0 width="90%">
<ร่างกาย>
<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";
ถ้า(fileArr.length!=0){
สำหรับ(int i=0; i<fileArr.length; i++){
//หากเป็นไฟล์ให้แสดง
ถ้า(fileArr[i].isFile()){
bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee";
-
<TR bgColor=<%=bgColor%>>
<TD align=left > <TT><FONT color=#000066 face=WingDings
size=4>3</FONT>
<a title="คลิกเพื่อแก้ไขไฟล์ที่เกี่ยวข้อง" href="<%=request.getRequestURI()%>
?path=<%=strDealPath%>&file=<%=fileArr[ ฉัน].getName()%>&act=edit"><%=fileArr[i].getName()%></
a></TT></TD>
<TD align=center><TT><%=fileArr[i].length()%></TT></TD>
<TD align=center><TT><%=(วันที่ใหม่(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('คุณต้องการลบไฟล์นี้จริงๆ หรือไม่ เนื้อหาจะไม่สามารถใช้ได้อีกต่อไป?
') ){window.dataFormFile <%=i%>.submit();}">ลบ</a></TT></TD></form>
</TR>
-
-
} อื่น ๆ {%>
<TR>
<TD align=left > <TT>ไม่มีไฟล์</TT></TD>
<TD align=right> </TD>
<TD align=right> </TD>
<TD align=center> </TD>
<TD align=center> </TD>
</TR>
-
<TR align="center">
<TD bgColor=#cccccc colSpan=5><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=uploadFile">อัปโหลด
ไฟล์
</a> ]</TT></TD>
</TR>
</TBODY>
</ตาราง>
-
//สถานะการแสดงผลปกติสิ้นสุดลง
}else if(strStat.equals("แก้ไข")){
//สถานะการแก้ไขไฟล์
BufferedReader bufReadIn=ใหม่ BufferedReader(
FileReader ใหม่(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))));
สตริง strContext="";
สตริง strReadLine="";
-
<ความกว้างของตาราง="90%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>แก้ไขไฟล์:</strong></font></td>
</tr>
</ตาราง>
<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(" ไฟล์"))%>&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= วิงดิงส์
size=4>3</font><%=(UnicodeToThai(request.getParameter("path"))+UnicodeToThai(request.getParameter("file")))%></tt></td>
</tr>
<tr>
<td align=center><textarea name="fileData" rows=18 cols=70 wrap=""OFF""><%
ในขณะที่ ((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();">ส่งเนื้อหา</a> ]</TT> <TT>[ <a
href="<%=request. getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">กลับไปยังไดเร็กทอรี</a> ]</TT>
</td>
</tr>
</tbody>
</แบบฟอร์ม>
</ตาราง>
-
} อื่น ๆ if(strStat.equals("createF")){
-
<ความกว้างของตาราง="90%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>สร้างโฟลเดอร์:</strong></font></td>
</tr>
</ตาราง>
<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">โฟลเดอร์ที่คุณต้องการสร้างอยู่ใน</font></strong></font><font color=# 000066
ใบหน้า=วิงดิงส์
size=4>0</font><tt><%=(UnicodeToThai(request.getParameter("path")))%></tt><font size=+1><strong><font size="- 1">ลง
</font></strong></font></td>
</tr>
<tr>
<td align=ซ้าย>
<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);">ส่งเนื้อหา</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">กลับไปยังสารบัญ</a>
]</tt> </td>
</tr>
</tbody>
</แบบฟอร์ม>
</ตาราง>
-
} อื่น ๆ if(strStat.equals("renameFold"))
-
<ความกว้างของตาราง="90%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>เปลี่ยนชื่อโฟลเดอร์:</strong></font></td>
</tr>
</ตาราง>
<table align=center cellpadding=5 cellspacing=0 width="90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(ขอ
t.getParameter(" พับ"))%>&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 =วิงดิงส์
size=4>0</font><tt><%=(UnicodeToThai(request.getParameter("path"))+UnicodeToThai(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);">ส่งเนื้อหา</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">กลับไปยังสารบัญ</a>
]<input type=hidden name="changeDo" value="false"></tt> </td>
</tr>
</tbody>
</แบบฟอร์ม>
</ตาราง>
-
}else if(strStat.equals("renameFile"))
-
<ความกว้างของตาราง="90%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>เปลี่ยนชื่อไฟล์:</strong></font></td>
</tr>
</ตาราง>
<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 =วิงดิงส์
size=4>3</font><tt><%=(UnicodeToThai(request.getParameter("path"))+UnicodeToThai(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);">ส่งเนื้อหา</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">กลับไปยังสารบัญ</a>
-
<input type=hidden name="changeDo" value="false">
</tt> </td>
</tr>
</tbody>
</แบบฟอร์ม>
</ตาราง>
-
}else if(strStat.equals("uploadFile")){
-
<ความกว้างของตาราง="90%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>อัปโหลดไฟล์:</strong></font></td>
</tr>
</ตาราง>
<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="หลายส่วน /ฟอร์มข้อมูล">
<tbody>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">ไฟล์ที่คุณต้องการอัปโหลดอยู่ที่</font></strong></font><font color=# 000066
ใบหน้า =วิงดิงส์
size=4>0</font><tt><%=(UnicodeToThai(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);">ส่งเนื้อหา</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">กลับไปยังสารบัญ</a>
-
</tt> </td>
</tr>
</tbody>
</แบบฟอร์ม>
</ตาราง>
-
-
-
<br>
<br>
<ชม.>
<TT>©ลิขสิทธิ์: Jarard·Ast เวอร์ชัน: จีนตัวย่อ 1.00</TT>
<br><TT>สำหรับความคิดเห็นหรือข้อเสนอแนะใด ๆ โปรดติดต่อ: <a href=" mailto:[email protected]"><font color=red>[email protected]</font></a></ TT>
</div>
</BODY></HTML>
<ภาษาสคริปต์=จาวาสคริปต์>
<!--
<%
//ฟังก์ชันที่แสดงพารามิเตอร์การตรวจจับที่แตกต่างกันตามพารามิเตอร์ที่แตกต่างกัน
if(strStat.equals("เข้าสู่ระบบ")) {%>
แบบฟอร์มตรวจสอบฟังก์ชัน ()
-
var Checkblank = /^(s*|( )|(.))*$/;
ถ้า (Checkblank.test(dataform.username.value))
-
alert("ชื่อล็อกอินไม่สามารถเว้นว่างได้!");
กลับเท็จ;
-
ถ้า (Checkblank.test(dataform.userpass.value))
-
alert("รหัสผ่านไม่สามารถเว้นว่างได้!");
กลับเท็จ;
-
window.dataform.submit();
}
<%}else if(strStat.equals("createFold")) {%>
ฟังก์ชั่นตรวจสอบแบบฟอร์ม()
-
var Checkblank = /^(s*|( )|(.))*$/;
ถ้า (Checkblank.test(dataForm.foldName.value))
-
alert("ชื่อโฟลเดอร์ใหม่ไม่สามารถเว้นว่างได้!");
dataForm.foldName.focus();
กลับเท็จ;
-
var SPECIAL_STR = " \/:*? "><|";
สำหรับ(i=0;i<(dataForm.foldName.value).ความยาว;i++)
-
ถ้า (SPECIAL_STR.indexOf((dataForm.foldName.value).charAt(i)) !=-1)
-
alert("ชื่อโฟลเดอร์ไม่สามารถมีอักขระต่อไปนี้ \/:*? "><|");
dataForm.foldName.focus();
กลับเท็จ;
-
-
window.dataForm.submit();
-
<%}else if(strStat.equals("renameFold")) {%>
ฟังก์ชั่น checkForm2()
-
var Checkblank = /^(s*|( )|(.))*$/;
ถ้า (Checkblank.test(dataForm2.newFoldName.value))
-
alert("ชื่อโฟลเดอร์ที่ถูกเปลี่ยนชื่อไม่สามารถเว้นว่างได้!");
dataForm2.newFoldName.focus();
กลับเท็จ;
-
var SPECIAL_STR = " \/:*? "><|";
สำหรับ(i=0;i<(dataForm2.newFoldName.value).ความยาว;i++)
-
ถ้า (SPECIAL_STR.indexOf((dataForm2.newFoldName.value).charAt(i)) !=-1)
-
alert("ชื่อโฟลเดอร์ไม่สามารถมีอักขระต่อไปนี้ \/:*? "><|");
dataForm2.newFoldName.focus();
กลับเท็จ;
-
-
//หากชื่อไฟล์แตกต่างจากชื่อไฟล์ต้นฉบับหลังจากการเปลี่ยนชื่อ ให้ทำเครื่องหมายพารามิเตอร์เพื่อระบุว่ามีการเปลี่ยนชื่อเกิดขึ้นจริง
if(dataForm2.newFoldName.value!="<%=UnicodeToChinese(request.getParameter("fold"))%>")
-
window.dataForm2.changeDo.value = "true";
-
อื่น
-
alert("กรุณากรอกชื่อโฟลเดอร์ใหม่!");
dataForm2.newFoldName.focus();
กลับเท็จ;
-
window.dataForm2.submit();
}
<%}else if(strStat.equals("renameFile"))
-
ฟังก์ชั่น checkForm3()
-
var Checkblank = /^(s*|( )|(.))*$/;
ถ้า (Checkblank.test(dataForm3.newFileName.value))
-
alert("ชื่อโฟลเดอร์ที่ถูกเปลี่ยนชื่อไม่สามารถเว้นว่างได้!");
dataForm3.newFileName.focus();
กลับเท็จ;
-
var SPECIAL_STR = " \/:*? "><|";
สำหรับ(i=0;i<(dataForm3.newFileName.value).ความยาว;i++)
-
ถ้า (SPECIAL_STR.indexOf((dataForm3.newFileName.value).charAt(i)) !=-1)
-
alert("ชื่อไฟล์ไม่สามารถมีอักขระต่อไปนี้ \/:*? "><|");
dataForm3.newFileName.focus();
กลับเท็จ;
-
-
//หากชื่อไฟล์แตกต่างจากชื่อไฟล์ต้นฉบับหลังจากการเปลี่ยนชื่อ ให้ทำเครื่องหมายพารามิเตอร์เพื่อระบุว่ามีการเปลี่ยนชื่อเกิดขึ้นจริง
if(dataForm3.newFileName.value!="<%=UnicodeToChinese(request.getParameter("file"))%>")
-
window.dataForm3.changeDo.value = "true";
-
อื่น
-
alert("กรุณากรอกชื่อไฟล์ใหม่!");
dataForm3.newFileName.focus();
กลับเท็จ;
-
window.dataForm3.submit();
}
<%}else if(strStat.equals("uploadFile")){%>
ฟังก์ชั่น checkForm4()
-
var Checkblank = /^(s*|( )|(.))*$/;
ถ้า (Checkblank.test(dataForm4.fileName.value))
-
alert("ชื่อโฟลเดอร์ที่ถูกเปลี่ยนชื่อไม่สามารถเว้นว่างได้!");
dataForm4.fileName.focus();
กลับเท็จ;
-
window.dataForm4.submit();
}
<%}%>
-
</สคริปต์>