Ide desain dibalik pengembangan file ini adalah sebagai berikut. Beberapa situs web atau pelanggan perangkat lunak B/S sering kali memiliki persyaratan khusus untuk detail tertentu selama tahap instalasi dan debugging perangkat lunak, mungkin penyesuaian font, atau perubahan kecil pada antarmuka. Menghadapi situasi seperti ini, jika pengguna tidak membuka fungsi FTP, personel pengembangan dan pemeliharaan sering kali harus mengunjungi situs untuk melakukan beberapa pekerjaan debugging kecil.
Itu hanya membuang-buang waktu, tenaga dan sumber daya material.
Dalam keadaan seperti itu, saya mengembangkan file satu halaman JSP ini dengan fungsi manajemen file. Ini menyediakan fungsi menambah, mengganti nama, dan menghapus folder; mengubah, mengganti nama, menghapus, dan mengunggah file. Ini pada dasarnya dapat memenuhi pekerjaan modifikasi kecil selama tahap instalasi dan debugging perangkat lunak.
Untuk alasan keamanan, halaman JSP ini menyediakan fungsionalitas login pengguna yang sederhana.
Sebelum digunakan, letakkan file ini di file situs web atau direktori mana pun dari produk B/S. Buka izin baca dan tulis untuk direktori instalasi file. Pengguna dapat login ke halaman JSP dari jarak jauh untuk menjalankan fungsi manajemen. Setelah tahap instalasi dan pemeliharaan selesai, harap ubah izin baca dan tulis direktori instalasi file dan hapus file untuk menghindari risiko keamanan.
Secara default, nama pengguna login adalah: admin dan kata sandinya adalah:
lingkungan pengembangan Oddworld jakarta-Tomcat-4.0.3.exe
Catatan: Karena fungsi upload file pada software ini harus didukung oleh komponen smartupload. Silakan letakkan smartupload di bawah folder web-inf yang sesuai dengan Tomcat. Jika komponen yang Anda dukung untuk diunggah berbeda, silakan lakukan penyesuaian sendiri.
Petunjuk pengembangan singkat: Karena dokumen ini tidak rumit, dan saya rasa walaupun uraian dokumennya tidak terstandar, namun juga detail, maka saya hanya bermaksud menjelaskan secara singkat beberapa detail kecil saja.
1. Saat file ini melakukan operasi direktori file, direktori tersebut diteruskan secara langsung sebagai parameter tanpa konversi yang sesuai. Ini karena di Java, "Karakter Inggris" dapat dianggap sebagai karakter escape, yang menyebabkan masalah tak terduga selama pemrosesan karakter, jadi menurut saya lebih masuk akal untuk menggunakan direktori secara langsung sebagai parameter.
2. Dokumen ini menggunakan koneksi alih-alih tombol saat mengirimkan beberapa formulir. Hal ini karena ketika JavaScript memproses string dengan "", JavaScript juga dapat memproses karakter escape. Oleh karena itu, untuk mencegah situasi ini, maka Pengiriman yang meneruskan parameter direktori menggunakan bentuk koneksi.
3. strStat dan strErr adalah dua string yang dijalankan di seluruh file. Yang pertama adalah perintah penilaian untuk operasi apa yang akan dilakukan halaman, dan yang terakhir adalah prompt informasi untuk kesalahan dalam semua operasi.
4. Saya tidak akan memberikan penjelasan apa pun atas keselamatan atau perselisihan lain yang mungkin timbul dari dokumen ini. Saya hanya menyediakan file ini sebagai alat gratis untuk referensi dan penggunaan semua orang.
--------------------------------------------------- ---------------
Konten file admin.jsp
<%-- sistem manajemen file situs web oddsWorld (versi Cina Sederhana) 10 Oktober 2003
salin langsung oleh joard Ast
fungsi admin.jsp: halaman pengelolaan latar belakang file situs web.
--%>
<%@ halaman contentType="teks/html;charset=gb2312" %>
<%@ halaman import="java.io.*" %>
<%@ halaman import="java.util.Date" %>
<%@ halaman import="com.jspsmart.upload.SmartUpload" %>
<%@ halaman import="javax.servlet.http.HttpSession" %>
<%@ halaman import="javax.servlet.http.HttpServletRequest" %>
<%@ halaman import="java.lang.reflect.*" %>
<% //Konversi karakter Cina%>
<%!
String statis publik UnicodeToChinese(String s){
mencoba{
if(s==null||s.equals("")) mengembalikan "";
String string baru=null;
string baru=String baru(s.getBytes("ISO8859_1"),,"gb2312");
kembalikan string baru;
}
tangkapan(Tidak DidukungEncodingException e)
{
kembali;
}
}
String statis publik ChineseToUnicode(String s){
mencoba{
if(s==null||s.equals("")) mengembalikan "";
String string baru=null;
string baru=String baru(s.getBytes("gb2312"),"ISO8859_1");
kembalikan string baru;
}
tangkapan(Tidak DidukungEncodingException e)
{
kembali;
}
}
%>
<%
//segarkan masalah
respon.setHeader("Pragma","Tanpa cache");
respon.setHeader("Kontrol-Cache","tanpa-cache");
respon.setDateHeader("Kedaluwarsa", 0);
//Sesuaikan kata sandi dan nama pengguna untuk login
//Nama pengguna yang benar
String nama pengguna = "admin"
//Kata sandi yang benar
String userpass="oddworld";
//Dapatkan jalur sistem
Aplikasi ServletContext=(ServletContext)pageContext.getServletContext();
String strSysPath = app.getRealPath("/");
//Memproses jalur fisik objek
String strDealPath="";
//Menampilkan pesan kesalahan
String strErr="";
//Mewakili status tampilan halaman, login untuk menampilkan halaman login; show untuk menampilkan informasi file secara normal; edit untuk menampilkan halaman pengeditan file; editDo adalah operasi penulisan untuk mengedit file
; halaman pembuatan folder; createFDo adalah operasi pembuatan folder; renameFold adalah halaman yang menampilkan nama
folder
; renameFile adalah operasi penggantian nama folder; halaman yang menampilkan nama file; renameFileDo adalah operasi mengubah nama file;
delFileDo adalah operasi menghapus file; uploadFile adalah halaman yang menampilkan file yang diunggah;
String strStat="login";
//Array digunakan untuk menampilkan file dalam status pertunjukan
File[] fileArr=null;
//Dapatkan jalur fisik dari objek yang akan diproses berdasarkan parameter jalur yang diteruskan
if (request.getParameter("path")==null || request.getParameter("path").equals("")){
strDealPath=strSysPath;
}kalau tidak{
//Dapatkan parameter jalur
strDealPath=UnicodeToChinese(request.getParameter("jalur"));
}
//Periksa apakah nilai sesi ada, jika tidak, tampilkan pesan kesalahan
//Sesi HttpSession = request.getSession(false);
if (session.getValue("loginIn")==null || !session.getValue("loginIn").equals("lulus"))
{
strStat="masuk";
strErr="Anda belum login atau waktu login Anda habis, silakan login kembali!";
}
//Buat objek file dan periksa apakah direktori tersebut ada
File myFile=file baru(strDealPath);
//Periksa apakah folder tersebut ada
if(!Filesaya.ada()){
strErr="Folder yang Anda pilih tidak ada, silakan pilih lagi!";
}
//Menurut parameter yang berbeda, lakukan operasi yang sesuai
if(request.getParameter("act")==null || request.getParameter("act").equals("") ||
request.getParameter("act").equals("login"))
{
if(request.getParameter("nama pengguna")!=null && request.getParameter("userpass")!=null)
{
//Kata sandi terenkripsi MD5 yang benar
//String userpass="OEEO99107DC8C1EE2E06666B965601EF";
if(request.getParameter("nama pengguna").equals(nama pengguna) && (request.getParameter("userpass")).equals(userpass))
{
session.putValue("loginIn","lulus");
respon.sendRedirect(request.getRequestURI()+"?act=show");
}
}
kalau tidak {
strStat="masuk";
strErr="Anda belum login atau waktu login Anda habis, silakan login kembali!";
}
}else if(request.getParameter("act").equals("show")){
//Default, halaman menampilkan informasi file secara normal statStat="show"
strStat="tunjukkan";
//Membuat susunan daftar file
fileArr=Filesaya.listFiles();
}else if(request.getParameter("act").equals("edit"))
{
//Halaman untuk mengedit konten file
//Menurut apakah ada request.getParameter("file") dan apakah file terkait ada. Jika ya, lakukan operasi pengeditan.
if (!(request.getParameter("file")==null || request.getParameter("file").equals(""))){
File fileEdit=
File baru(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
if(fileEdit.ada())
//Operasi pengeditan file sebenarnya untuk mengubah tampilan halaman, dan menggunakan area teks untuk menampilkan informasi file untuk diedit.
strStat="edit";
kalau tidak
//Menampilkan pesan kesalahan
strErr="File yang Anda pilih tidak ada, silakan pilih lagi!";
}kalau tidak{
strErr="Anda belum memilih file yang akan diedit, silakan pilih lagi!";
}
}else if(request.getParameter("act").equals("editDo"))
{
//Tulis konten yang dimodifikasi ke file dan kembali ke halaman modifikasi
if (!(request.getParameter("file")==null || request.getParameter("file").equals("")))
{
File fileEdit=
File baru(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
if(fileEdit.ada())
{
//Operasi pengeditan file sebenarnya menggunakan area teks untuk menampilkan konten file pada halaman setelah konten file diubah, dan melanjutkan pengeditan atau
melihat efek modifikasi.
if(!(request.getParameter("fileData")==null))
{
mencoba{
Penulis Cetak pwEdit =null;
pwEdit=New PrintWriter(new
FileOutputStream(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))));
pwEdit.println(UnicodeToChinese(request.getParameter("fileData")));
pwEdit.close();
respon.sendRedirect(request.getRequestURI()+"?path="+
UnicodeToChinese(request.getParameter("path")) +"&file="+ UnicodeToChinese(request.getParameter("file")) +"&act=edit" );
kembali;
}menangkap(Pengecualian e){
strErr="Kesalahan penulisan file, silakan pilih lagi!";
}
}kalau tidak{
strErr="Parameter untuk mengubah konten file tidak ada, silakan pilih lagi!";
}
}kalau tidak
//Menampilkan pesan kesalahan
strErr="File yang Anda pilih tidak ada, silakan pilih lagi!";
}kalau tidak{
strErr="Anda belum memilih file yang akan diedit, silakan pilih lagi!";
}
}else if(request.getParameter("act").equals("createF"))
{
//Tampilkan halaman untuk membuat folder baru
strStat="buatF";
}else if(request.getParameter("act").equals("createFDo"))
{
//Buat folder baru
String strFoldName=strDealPath+UnicodeToChinese(request.getParameter("foldName")).trim()+"\";
//keluar.println(strFoldName);
//keluar.close();
File fileCreateF=File baru(strFoldName);
if(!fileCreateF.ada())
{
mencoba{
fileCreateF.mkdir();
respon.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
kembali;
}menangkap(Pengecualian e){
strErr="Gagal membuat folder baru!";
}
}
kalau tidak
{
strErr="Nama folder yang ditentukan sama dengan nama folder yang ada, silakan tentukan nama folder baru!";
}
}else if(request.getParameter("act").equals("delFoldDo"))
{
//operasi penghapusan
mencoba{
String strFileDelF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
Berkas fileDelF=Berkas baru(strFileDelF);
if(fileDelF.ada()){
File[] fileArrCheck=fileDelF.listFiles();
if(!(fileArrCheck.panjang>0))
{
fileDelF.hapus();
respon.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
kembali;
}kalau tidak
{
strErr="Folder masih berisi file, harap hapus semua file lalu hapus foldernya";
}
}kalau tidak{
strErr="Folder yang akan dihapus tidak ada, silakan pilih lagi";
}
}menangkap(Pengecualian e)
{
strErr="Kesalahan operasi penghapusan folder!";
}
}else if(request.getParameter("act").equals("renameFold"))
{
strStat="ganti namaLipat";
}else if(request.getParameter("act").equals("renameFoldDo"))
{
//Operasi penggantian nama folder
//Tentukan apakah ada perubahan pada nama folder berdasarkan parameternya
if(request.getParameter("changeDo").sama dengan("benar"))
{
//Ada nama file, dan terjadi perubahan nama
mencoba{
String strFileRenameF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
File fileRenameF=File baru(strFileRenameF);
String strFileRenameToF=strDealPath+UnicodeToChinese(request.getParameter("newFoldName"))+"\";
File fileRenameToF=File baru(strFileRenameToF);
//Tentukan apakah folder yang diganti namanya ada
if(fileRenameF.exists()){
//Tentukan apakah nama folder baru mempunyai nama yang sama dengan nama folder yang sudah ada
if(!fileRenameToF.exists())
{
fileRenameF.renameTo(fileRenameToF);
respon.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
kembali;
}kalau tidak
{
strErr="Nama folder yang ditentukan sama dengan nama folder yang ada, silakan tentukan nama folder baru!";
}
}kalau tidak{
strErr="Folder yang akan diganti namanya tidak ada, silakan pilih lagi";
}
}menangkap(Pengecualian e)
{
strErr="Kesalahan operasi penggantian nama folder!";
}
}
}else if(request.getParameter("act").equals("renameFile"))
{
strStat="ganti namaFile";
}else if(request.getParameter("act").equals("renameFileDo"))
{
//Operasi penggantian nama file
//Tentukan apakah ada perubahan pada nama file berdasarkan parameternya
if(request.getParameter("changeDo").sama dengan("benar"))
{
//Ada nama file, dan terjadi perubahan nama
mencoba{
String strFileRenameFi=strDealPath+UnicodeToChinese(request.getParameter("file"));
File fileRenameFi=File baru(strFileRenameFi);
String strFileRenameToFi=strDealPath+UnicodeToChinese(request.getParameter("newFileName"));
File fileRenameToFi=File baru(strFileRenameToFi);
//Tentukan apakah file yang diubah namanya ada
if(fileRenameFi.exists()){
//Tentukan apakah nama file baru memiliki nama yang sama dengan file yang sudah ada
if(!fileRenameToFi.exists())
{
fileRenameFi.renameTo(fileRenameToFi);
respon.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
kembali;
}kalau tidak
{
strErr="Nama file yang ditentukan sama dengan nama file yang ada, harap tentukan nama file baru!";
}
}kalau tidak{
strErr="File yang akan diganti namanya tidak ada, silakan pilih lagi";
}
}menangkap(Pengecualian e)
{
strErr="Kesalahan operasi penggantian nama file!";
}
}
}else if(request.getParameter("act").equals("delFileDo"))
{
//operasi penghapusan
mencoba{
String strFileDelFi=strDealPath+UnicodeToChinese(request.getParameter("file"));
File fileDelFi=File baru(strFileDelFi);
if(fileDelFi.ada())
{
fileDelFi.hapus();
respon.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
kembali;
}kalau tidak{
strErr="File yang akan dihapus tidak ada, silakan pilih kembali";
}
}menangkap(Pengecualian e)
{
strErr="Kesalahan operasi penghapusan file!";
}
}else if(request.getParameter("act").equals("uploadFile"))
{
strStat="unggahFile";
}else if(request.getParameter("act").equals("uploadFileDo"))
{
%>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
//Operasi unggah file
mySmartUpload.initialize(pageContext);
1000000
);
mySmartUpload.upload();
mySmartUpload.save(strDealPath);
respon.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
kembali;
} tangkapan (Pengecualian e) {
strErr="Kesalahan pengunggahan file, harap periksa apakah batas ukuran file 1M terlampaui!";
}
}
%>
<%
keluar.println(strStat);
%>
<HTML><HEAD><TITLE>Daftar Direktori Untuk /</TITLE>
<META content="text/html; charset=utf-8" http-equiv=Jenis Konten>
<META content="MSHTML 5.00.2920.0" nama=GENERATOR></HEAD>
<BODY bgWarna=putih>
<div align="tengah">
<batas tabel=0 cellpadding=5 spasi sel=0 lebar="90%">
<tubuh>
<tr>
<td align=kiri bgcolor=#000066 valign=bawah><warna font=#ffffff wajah=宋体
size=4 Romawi? Baru,?times><b> Pengelola File Situs Web</b></font></td>
<td align=kanan bgcolor=#000066 valign=bawah><warna font=#ffffff wajah=宋体
ukuran=4 Romawi? Baru,?times><b> <strong><%=request.getContextPath()%></strong></b></font></td>
</tr>
</tbody>
</tabel>
<lebar tabel='90%' border='0' cellpacing='0' cellpadding='5'>
<tr>
<td><font size="2"><b>Jalur fisik:</b><%=strDealPath%></font></td>
</tr>
</tabel>
<br>
<% jika (strStat.equals("login")){%>
<lebar tabel="300" border="0" cellpacing="1" cellpadding="0" >
<tr>
<td height="200" valign="top" align="center">
<p menyelaraskan="tengah">
<tabel lebar="100%" border="0" Cellspacing="1" cellpadding="5" bgcolor=#999999 class=a9px>
<tr>
<td bgcolor="#cccccc"><font size=+2>Masuk</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" valign="atas" align="center">
<lebar tabel="100%" border="0" Cellspacing="0" cellpadding="0">
<nama formulir=metode dataform=tindakan posting='<%=request.getRequestURI()%>?act=login'>
<tr>
<td width="100"><b><font size="-1">Nama masuk: </font></b></td>
<td>
<masukan panjang maksimal=16
nama="nama pengguna" nilai="">
</td>
</tr>
<tr>
<td width="100"><b><font size="-1">Sandi:</font></b></td>
<td>
<kelas masukan=stedit maxlength=16
nama = "pass pengguna" nilai = "">
</td>
</tr>
</bentuk>
</tabel>
<br>
<batas tabel=0 cellpadding=0 spasi sel=0>
<tubuh>
<tr>
<td>
<nama masukan=perbarui onClick="javascript:if (checkform()==false);" type=button value="Login">
</td>
<td> </td>
<td> </td>
</tr>
</tbody>
</tabel>
<br>
</td>
</tr>
</tabel>
</td>
</tr>
</tabel>
<% //Tampilan pesan kesalahan
}lain jika(strErr!=""){
%>
<lebar tabel='90%' border='0' cellpacing='0' cellpadding='5'>
<tr>
<td><font size=+2><strong>Kesalahan pengoperasian</strong></font></td>
</tr>
</tabel>
<tabel align=center cellpadding=5 spasi sel=0 lebar="90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques
t.getParameter(" lipat"))%>&act=renameFoldDo" metode="posting">
<tubuh>
<tr bgcolor=#cccccc>
<td align=left bgcolor="#cccccc"><strong><font size="-1">Alasan kesalahan: </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);">Operasi pengembalian</a> ]</TT> <tt >[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Kembali ke direktori</a>
]<input type=hidden name="changeDo" value="false"></tt> </td>
</tr>
</tbody>
</bentuk>
</tabel>
<%
}else if(strStat.equals("tunjukkan")){
//Menampilkan halaman secara normal
%>
<lebar tabel='90%' border='0' cellpacing='0' cellpadding='5'>
<tr>
<td><font size=+2><strong>Daftar direktori:</strong></font></td>
</tr>
</tabel>
<tabel align=center cellpadding=5 spasi sel=0 lebar="90%">
<tubuh>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Nama</font></strong></font><TT> (klik untuk masuk ke direktori terkait)< /font>TT></td>
<td align=center><font size=+1><strong><font size="-1">Waktu modifikasi</font></strong></font></td>
<td align=center><b><font size="-1">Ganti nama</font></b></td>
<td align=center><b><font size="-1">Hapus</font></b></td>
</tr>
<%
//Menampilkan warna awal baris tabel
String bgWarna="";
//Jika ini bukan direktori root, tampilkan link kembali ke direktori atas
if(!(strDealPath.equals(strSysPath))){%>
<tr bgcolor=<%=bgColor%>>
<td align=kiri > <tt><warna font=#000066 face=WingDings
size=4>0</font>
<a title="Klik untuk masuk ke direktori atas" href="<%=request.getRequestURI()%>
?path=<%=(myFile.getParent())+" "%>&act=show ">Direktori atas</a></tt></td>
<td align=kanan> </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<%}
for(int i=0; i<fileArr.panjang; i++){
//Jika itu adalah sebuah folder, tampilkan
if(fileArr[i].isDirectory()){
//Konversi interlaced warna
bgColor=bgColor.equals("#eeeeee") "" : "#eeeeee";
%>
<tr bgcolor=<%=bgColor%>>
<td align=kiri > <tt><FONT color=#000066 face=WingDings
size=4>0</FONT>
<a title="Klik untuk masuk ke direktori terkait" href="<%=request.getRequestURI()%>
?path=<%=strDealPath+fileArr[i].getName() +" \"%>&act=show"><%=fileArr[i].getName()%></a></t
t></td>
<td align=center><tt><%=(Tanggal baru(fileArr[i].lastModified()))%></tt></td>
<td align=center><TT>
<a href="<%=request.getRequestURI()%>
?path=<%=strDealPath%>&fold=<%=fileArr[i].getName()%>&act=renameFold">Ganti nama</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('Apakah Anda benar-benar ingin menghapus folder ini, semua isinya tidak akan tersedia lagi?
' )){ window.dataFormFold<%=i%>.submit();}">Hapus</a></TT></td></form>
</tr>
<%}
} %>
<tr menyelaraskan="tengah">
<td bgcolor=#cccccc colspan=4><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=createF">Folder baru
</a>
]</TT></td>
</tr>
</tbody>
</tabel>
<lebar tabel='90%' border='0' cellpacing='0' cellpadding='5'>
<tr>
<td><font size=+2><strong>Daftar file:</strong></font></td>
</tr>
</tabel>
<TABEL align=center cellPadding=5 cellSpacing=0 width="90%">
<TBODY>
<TR bgColor=#cccccc>
<TD align=left><FONT size=+1><STRONG><font size="-1">Nama</font></STRONG></FONT><TT> (Klik untuk mengedit file terkait)< /TT></TD>
<TD align=center><FONT size=+1><strong><font size="-1">ukuran</font></strong></FONT></TD>
<TD align=center><FONT size=+1><STRONG><font size="-1">Waktu modifikasi</font></STRONG></FONT></TD>
<TD align=center><b><font size="-1">Ganti nama</font></b></TD>
<TD align=center><b><font size="-1">Hapus</font></b></TD>
</TR>
<%
bgColor="#eeeeee";
if(fileArr.panjang!=0){
for(int i=0; i<fileArr.panjang; i++){
//Jika itu adalah file, tampilkan
jika(fileArr[i].isFile()){
bgColor=bgColor.equals("#eeeeee") "" : "#eeeeee";
%>
<TR bgWarna=<%=bgWarna%>>
<TD rata=kiri > <TT><FONT color=#000066 wajah=WingDings
size=4>3</FONT>
<a title="Klik untuk mengedit file yang sesuai" 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><%=(Tanggal baru(fileArr[i].lastModified()))%></TT></TD>
<TD align=center><TT>
<a href="<%=request.getRequestURI()%>
?path=<%=strDealPath%>&file=<%=fileArr[i].getName()%>&act=renameFile">Ganti nama</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('Apakah Anda benar-benar ingin menghapus file ini? Kontennya tidak akan tersedia lagi?
') ){window.dataFormFile <%=i%>.submit();}">Hapus</a></TT></TD></form>
</TR>
<%}
}
}lainnya {%>
<TR>
<TD align=left > <TT>Tidak ada berkas</TT></TD>
<TD sejajar=kanan> </TD>
<TD sejajar=kanan> </TD>
<TD align=center> </TD>
<TD align=center> </TD>
</TR>
<%}%>
<TR sejajar="tengah">
<TD bgColor=#cccccc colSpan=5><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=uploadFile">Unggah
berkas
</a> ]</TT></TD>
</TR>
</TBODY>
</TABEL>
<%
//Status tampilan normal berakhir
}else if(strStat.equals("edit")){
//Status pengeditan file
BufferedReader bufReadIn=BuferedReader baru(
FileReader baru(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))));
String strKonteks="";
String strReadLine="";
%>
<lebar tabel='90%' border='0' cellpacing='0' cellpadding='5'>
<tr>
<td><font size=+2><strong>Edit berkas:</strong></font></td>
</tr>
</tabel>
<tabel align=center cellpadding=5 spasi sel=0 lebar="90%">
<form name=dataForm
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(reques
t.getParameter(" file"))%>&bertindak=editLakukan" metode="posting">
<tubuh>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Nama file</font></strong></font><tt><font color=#000066
face= Sayap Sayap
ukuran=4>3</font><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))%></tt></td>
</tr>
<tr>
<td align=center><textarea name="fileData" row=18 cols=70 wrap=""OFF""><%
while((strReadLine=bufReadIn.readLine())!=null)
keluar.println(strReadLine);
bufReadIn.close();%></textarea></td>
</tr>
<tr>
<td bgcolor=#cccccc align="tengah">
<TT>[ <a href="javascript:window.dataForm.submit();">Kirim konten</a> ]</TT> <TT>[ <a
href="<%=request. getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Kembali ke direktori</a> ]</TT>
</td>
</tr>
</tbody>
</bentuk>
</tabel>
<%
}else if(strStat.equals("createF")){
%>
<lebar tabel='90%' border='0' cellpacing='0' cellpadding='5'>
<tr>
<td><font size=+2><strong>Buat folder:</strong></font></td>
</tr>
</tabel>
<tabel align=center cellpadding=5 spasi sel=0 lebar="90%">
<form name=dataForm
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=createFDo" method="post">
<tubuh>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Folder yang ingin Anda buat ada di</font></strong></font><font color=# 000066
wajah=SayapDing
size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="- 1">Turun
</font></strong></font></td>
</tr>
<tr>
<td sejajar=kiri>
<TT>Nama folder baru:</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);">Kirim konten</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Kembali ke daftar isi</a>
]</tt> </td>
</tr>
</tbody>
</bentuk>
</tabel>
<%
}else if(strStat.equals("renameFold"))
{ %>
<lebar tabel='90%' border='0' cellpacing='0' cellpadding='5'>
<tr>
<td><font size=+2><strong>Ganti nama folder:</strong></font></td>
</tr>
</tabel>
<tabel align=center cellpadding=5 spasi sel=0 lebar="90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques
t.getParameter(" lipat"))%>&act=renameFoldDo" metode="posting">
<tubuh>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Folder yang ingin Anda ganti namanya</font></strong></font><font color=#000066
face =Dingan Sayap
size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("fold"))+" \")% ><
/tt ></td>
</tr>
<tr>
<td align=left> <tt>Nama folder diganti:</tt>
<tipe input=nama teks=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);">Kirim konten</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Kembali ke daftar isi</a>
]<input type=hidden name="changeDo" value="false"></tt> </td>
</tr>
</tbody>
</bentuk>
</tabel>
<%
}else if(strStat.equals("renameFile"))
{%>
<lebar tabel='90%' border='0' cellpacing='0' cellpadding='5'>
<tr>
<td><font size=+2><strong>Ganti nama file:</strong></font></td>
</tr>
</tabel>
<tabel align=center cellpadding=5 spasi sel=0 lebar="90%">
<form name=dataForm3
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(meminta
t.getParameter(" file"))%>&act=renameFileDo" metode="post">
<tubuh>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">File yang ingin Anda ganti namanya</font></strong></font><font color=#000066
wajah =Dingan Sayap
size=4>3</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))%></tt><
/td>
</tr>
<tr>
<td align=left> <tt>Nama file diganti:</tt>
<tipe input=nama teks=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);">Kirim konten</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Kembali ke daftar isi</a>
]
<tipe input=nama tersembunyi="changeDo" value="false">
</tt> </td>
</tr>
</tbody>
</bentuk>
</tabel>
<%
}else if(strStat.equals("uploadFile")){
%>
<lebar tabel='90%' border='0' cellpacing='0' cellpadding='5'>
<tr>
<td><font size=+2><strong>Unggah file:</strong></font></td>
</tr>
</tabel>
<tabel align=center cellpadding=5 spasi sel=0 lebar="90%">
<form name=dataForm4
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=uploadFileDo" method="post"
ENCTYPE="multipart /form-data">
<tubuh>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">File yang ingin diupload ada di</font></strong></font><font color=# 000066
wajah = WingDing
size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="- 1">Turun
</font></strong></font></td>
</tr>
<tr>
<td align=left> <tt>Pilih file yang diunggah:</tt>
<INPUT TYPE="FILE" NAME="fileName" SIZE="30"></td>
</tr>
<tr>
<td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm4()==false);">Kirim konten</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Kembali ke daftar isi</a>
]
</tt> </td>
</tr>
</tbody>
</bentuk>
</tabel>
<%
}
%>
<br>
<br>
<jam>
<TT>©Hak Cipta: Jarard·Ast Versi: Mandarin Sederhana 1.00</TT>
<br><TT>Untuk komentar atau saran apa pun, silakan hubungi: <a href=" mailto:[email protected]"><font color=red>[email protected]</font></a></ ST>
</div>
</BODI></HTML>
<BAHASA SKRIP=javascript>
<!--
<%
//Fungsi yang menampilkan parameter deteksi berbeda berdasarkan parameter berbeda
if(strStat.equals("login")) {%>
formulir periksa fungsi()
{
var Checkblank = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataform.nama pengguna.nilai))
{
alert("Nama login tidak boleh kosong!");
kembali salah;
}
if (Checkblank.test(dataform.userpass.value))
{
alert("Password tidak boleh kosong!");
kembali salah;
}
jendela.dataform.kirim();
}
<%}else if(strStat.equals("createFold")) {%>
fungsi checkForm()
{
var Centang kosong = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataForm.foldName.value))
{
alert("Nama folder baru tidak boleh kosong!");
dataForm.foldName.fokus();
kembali salah;
}
var SPECIAL_STR = " \/:*? "><|";
for(i=0;i<(dataForm.foldName.nilai).panjang;i++)
{
if (SPECIAL_STR.indexOf((dataForm.foldName.value).charAt(i)) !=-1)
{
alert("Nama folder tidak boleh berisi karakter berikut \/:*? "><|");
dataForm.foldName.fokus();
kembali salah;
}
}
window.dataForm.submit();
}
<%}else if(strStat.equals("renameFold")) {%>
fungsi checkForm2()
{
var Centang kosong = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataForm2.newFoldName.value))
{
alert("Nama folder yang diubah namanya tidak boleh kosong!");
dataForm2.newFoldName.fokus();
kembali salah;
}
var SPECIAL_STR = " \/:*? "><|";
untuk(i=0;i<(dataForm2.newFoldName.value).panjang;i++)
{
if (SPECIAL_STR.indexOf((dataForm2.newFoldName.value).charAt(i)) !=-1)
{
alert("Nama folder tidak boleh berisi karakter berikut \/:*? "><|");
dataForm2.newFoldName.fokus();
kembali salah;
}
}
//Jika nama file berbeda dari nama file asli setelah penggantian nama, tandai parameter untuk menunjukkan bahwa tindakan penggantian nama memang telah terjadi.
if(dataForm2.newFoldName.value!="<%=UnicodeToChinese(request.getParameter("fold"))%>")
{
window.dataForm2.changeDo.value="benar";
}
kalau tidak
{
alert("Silakan masukkan nama folder baru!");
dataForm2.newFoldName.fokus();
kembali salah;
}
jendela.dataForm2.submit();
}
<%}else if(strStat.equals("renameFile"))
{%>
fungsi checkForm3()
{
var Centang kosong = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataForm3.newFileName.value))
{
alert("Nama folder yang diubah namanya tidak boleh kosong!");
dataForm3.newFileName.fokus();
kembali salah;
}
var SPECIAL_STR = " \/:*? "><|";
for(i=0;i<(dataForm3.newFileName.value).panjang;i++)
{
if (SPECIAL_STR.indexOf((dataForm3.newFileName.value).charAt(i)) !=-1)
{
alert("Nama file tidak boleh berisi karakter berikut \/:*? "><|");
dataForm3.newFileName.fokus();
kembali salah;
}
}
//Jika nama file berbeda dari nama file asli setelah penggantian nama, tandai parameter untuk menunjukkan bahwa tindakan penggantian nama memang telah terjadi.
if(dataForm3.newFileName.value!="<%=UnicodeToChinese(request.getParameter("file"))%>")
{
window.dataForm3.changeDo.value="benar";
}
kalau tidak
{
alert("Silakan masukkan nama file baru!");
dataForm3.newFileName.fokus();
kembali salah;
}
window.dataForm3.submit();
}
<%}else if(strStat.equals("uploadFile")){%>
fungsi checkForm4()
{
var Centang kosong = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataForm4.fileName.value))
{
alert("Nama folder yang diubah namanya tidak boleh kosong!");
dataForm4.fileName.fokus();
kembali salah;
}
jendela.dataForm4.submit();
}
<%}%>
//-->
</SKRIP>