La idea de diseño detrás del desarrollo de este archivo es esta. Algunos sitios web o clientes de software B/S suelen tener requisitos especiales para ciertos detalles durante la etapa de instalación y depuración del software, tal vez ajustes de fuente o pequeños cambios en la interfaz. Ante tal situación, si el usuario no abre la función FTP, el personal de desarrollo y mantenimiento a menudo tiene que ir al sitio para realizar un pequeño trabajo de depuración.
Esto es una pérdida de tiempo, mano de obra y recursos materiales.
En tales circunstancias, desarrollé este archivo JSP de una sola página con funciones de administración de archivos. Proporciona las funciones de agregar, cambiar el nombre y eliminar carpetas; modificar, cambiar el nombre, eliminar y cargar archivos. Básicamente puede satisfacer el pequeño trabajo de modificación durante la etapa de instalación y depuración del software.
Por razones de seguridad, esta página JSP proporciona una funcionalidad sencilla de inicio de sesión de usuario.
Antes de usarlo, coloque este archivo en el archivo del sitio web o en cualquier directorio del producto B/S. Abra los permisos de lectura y escritura para el directorio de instalación del archivo. Los usuarios pueden iniciar sesión de forma remota en la página JSP para ejercer funciones de gestión. Una vez completada la fase de instalación y mantenimiento, modifique los permisos de lectura y escritura del directorio de instalación del archivo y elimine el archivo para evitar riesgos de seguridad.
De forma predeterminada, el nombre de usuario de inicio de sesión es: admin y la contraseña es:
entorno de desarrollo oddworld jakarta-tomcat-4.0.3.exe
Nota: Debido a que la función de carga de archivos de este software debe ser compatible con el componente smartupload. Coloque smartupload en la carpeta correspondiente de web-inf de Tomcat. Si los componentes que admite cargar son diferentes, realice los ajustes usted mismo.
Breves instrucciones de desarrollo: Debido a que este documento no es complicado, y siento que aunque la descripción del documento no está estandarizada, también es detallada, por lo que solo pretendo explicar brevemente algunos pequeños detalles.
1. Cuando este archivo realiza operaciones de directorio de archivos, el directorio se pasa directamente como parámetro sin la conversión correspondiente. Esto se debe a que en Java, los " caracteres en inglés" pueden considerarse caracteres de escape, lo que provoca problemas inesperados durante el procesamiento de caracteres, por lo que creo que es más razonable utilizar el directorio directamente como parámetro.
2. Este documento utiliza conexiones en lugar de botones al enviar algunos formularios. Esto se debe a que cuando JavaScript procesa cadenas con "", también puede procesar caracteres de escape. Por lo tanto, para evitar esta situación, los envíos que pasan parámetros de directorio utilizan el. formulario de conexión.
3. strStat y strErr son dos cadenas que se ejecutan en todo el archivo. La primera es un comando de juicio sobre las operaciones que realizará la página y la segunda es una solicitud de información para errores en todas las operaciones.
4. No daré ninguna explicación sobre las disputas de seguridad o de otro tipo que puedan surgir de este documento. Simplemente proporciono este archivo como una herramienta gratuita para referencia y uso de todos.
-------------------------------------------------- ---------------
Contenido del archivo admin.jsp
<%-- sistema de gestión de archivos del sitio web oddWorld (versión en chino simplificado) 10 de octubre de 2003
copia derecha por joard Ast
Función admin.jsp: página de gestión de fondo de archivos del sitio web.
--%>
<%@ página contentType="text/html;charset=gb2312" %>
<%@ página import="java.io.*" %>
<%@ página import="java.util.Date" %>
<%@ página import="com.jspsmart.upload.SmartUpload" %>
<%@ página import="javax.servlet.http.HttpSession" %>
<%@ página import="javax.servlet.http.HttpServletRequest" %>
<%@ página import="java.lang.reflect.*" %>
<% //Conversión de caracteres chinos%>
<%!
Cadena estática pública UnicodeToChinese (Cadena s) {
intentar{
if(s==null||s.equals("")) devuelve "";
Cadena nuevacadena=nulo;
newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
devolver cadena nueva;
}
captura (UnsupportedEncodingException e)
{
devolver s;
}
}
cadena estática pública ChineseToUnicode (cadena s) {
intentar{
if(s==null||s.equals("")) devuelve "";
Cadena nuevacadena=nulo;
newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
devolver cadena nueva;
}
captura (UnsupportedEncodingException e)
{
devolver s;
}
}
%>
<%
//actualizar problema
respuesta.setHeader("Pragma","Sin caché");
respuesta.setHeader("Control de caché","sin caché");
respuesta.setDateHeader("Expira", 0);
//Personalizar contraseña y nombre de usuario para iniciar sesión
//Nombre de usuario correcto
Cadena nombre de usuario = "admin"
//Contraseña correcta
String userpass="oddworld"
//Obtener la ruta del sistema
Aplicación ServletContext=(ServletContext)pageContext.getServletContext();
String strSysPath = app.getRealPath("/");
//Procesa la ruta física del objeto.
String strDealPath=""
//Mostrar mensaje de error
Cadena strErr="";
// Representa el estado de visualización de la página, iniciar sesión es mostrar la página de inicio de sesión; mostrar es mostrar la información del archivo normalmente; editar es mostrar la página de edición de archivos; editDo es la operación de escritura de archivos de edición
; la página de creación de carpetas; createFDo es la operación de crear una carpeta; renameFold es la página que muestra el nombre de
la
carpeta; renameFoldDo es la operación de cambiar el nombre de la carpeta; la página que muestra el nombre del archivo; renameFileDo es la operación para cambiar el nombre del archivo;
delFileDo es la operación para eliminar archivos; uploadFile es la página que muestra los archivos cargados;
String strStat="login";
//Matriz utilizada para mostrar archivos en estado de presentación
File[] fileArr=null;
//Obtiene la ruta física del objeto a procesar en función del parámetro de ruta pasado.
if (request.getParameter("ruta")==null || request.getParameter("ruta").equals("")){
strDealPath=strSysPath;
}demás{
//Obtener parámetros de ruta
strDealPath=UnicodeToChinese(request.getParameter("ruta"));
}
//Comprueba si el valor de la sesión existe, si no, muestra un mensaje de error
// sesión HTTPSession = request.getSession(false);
if (session.getValue("loginIn")==null || !session.getValue("loginIn").equals("pass"))
{
strStat="iniciar sesión";
strErr="No ha iniciado sesión o su inicio de sesión ha expirado, ¡inicie sesión nuevamente!";
}
//Crea un objeto de archivo y verifica si el directorio existe
File myFile=new File(strDealPath);
//Comprueba si la carpeta existe;
if(!miArchivo.existe()){
strErr="La carpeta que seleccionó no existe, ¡seleccione nuevamente!";
}
// Según diferentes parámetros, realiza las operaciones correspondientes
if(request.getParameter("act")==null || request.getParameter("act").equals("") ||
request.getParameter("act").equals("login"))
{
if(request.getParameter("nombre de usuario")!=null && request.getParameter("contraseña de usuario")!=null)
{
//Corregir la contraseña cifrada MD5
//String usuariopass="OEEO99107DC8C1EE2E06666B965601EF";
if(request.getParameter("nombre de usuario").equals(nombre de usuario) && (request.getParameter("contraseña de usuario")).equals(contraseña de usuario))
{
session.putValue("iniciar sesión","pasar");
respuesta.sendRedirect(request.getRequestURI()+"?act=show");
}
}
demás {
strStat="iniciar sesión";
strErr="No ha iniciado sesión o su inicio de sesión ha expirado, ¡inicie sesión nuevamente!";
}
}si no(request.getParameter("act").equals("show")){
//De forma predeterminada, la página muestra información del archivo normalmente statStat="show"
strStat="mostrar";
//Crear matriz de lista de archivos
fileArr=myFile.listFiles();
}else if(request.getParameter("actuar").equals("editar"))
{
//Página para editar el contenido del archivo
// Según si existe request.getParameter("file") y si existe el archivo correspondiente. Si es así, realice la operación de edición. Si no, muestre un mensaje de error.
if (!(request.getParameter("archivo")==null || request.getParameter("archivo").equals(""))){
Archivo fileEdit=new
File(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
si(archivoEdit.existe())
// La operación de edición de archivos consiste en cambiar la visualización de la página y usar un área de texto para mostrar la información del archivo para editar.
strStat="editar";
demás
//Mostrar mensaje de error
strErr="El archivo que seleccionó no existe, ¡selecciónelo nuevamente!";
}demás{
strErr="No has seleccionado el archivo para editar, ¡selecciónalo nuevamente!";
}
}else if(request.getParameter("act").equals("editDo"))
{
//Escribe el contenido modificado en el archivo y regresa a la página de modificación
if (!(request.getParameter("archivo")==null || request.getParameter("archivo").equals("")))
{
Archivo fileEdit=new
File(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
si(archivoEdit.existe())
{
// La operación de edición de archivos consiste en utilizar un área de texto para mostrar el contenido del archivo en la página después de modificar el contenido del archivo y continuar editando o
viendo el efecto de la modificación.
if(!(request.getParameter("fileData")==null))
{
intentar{
PrintWriter pwEdit = nulo;
pwEdit=new PrintWriter(new
FileOutputStream(UnicodeToChinese(request.getParameter("ruta"))+UnicodeToChinese(request.getParameter("archivo"))));
pwEdit.println(UnicodeToChinese(request.getParameter("fileData")));
pwEdit.close();
respuesta.sendRedirect(request.getRequestURI()+"?path="+
UnicodeToChinese(request.getParameter("path")) +"&file="+ UnicodeToChinese(request.getParameter("file")) +"&act=edit" );
devolver;
}catch(Excepción e){
strErr="Error al escribir el archivo, ¡seleccione nuevamente!";
}
}demás{
strErr="Falta el parámetro para modificar el contenido del archivo, ¡selecciónelo nuevamente!";
}
}demás
//Mostrar mensaje de error
strErr="El archivo que seleccionó no existe, ¡selecciónelo nuevamente!";
}demás{
strErr="No has seleccionado el archivo para editar, ¡selecciónalo nuevamente!";
}
}else if(request.getParameter("act").equals("createF"))
{
//Mostrar la página para crear una nueva carpeta
strStat="createF";
}else if(request.getParameter("act").equals("createFDo"))
{
//Crear nueva carpeta
String strFoldName=strDealPath+UnicodeToChinese(request.getParameter("foldName")).trim()+"\"
//out.println(strFoldName);
//out.close();
Archivo fileCreateF=new File(strFoldName);
si(!fileCreateF.exists())
{
intentar{
fileCreateF.mkdir();
respuesta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
devolver;
}catch(Excepción e){
strErr="¡Error al crear una nueva carpeta!";
}
}
demás
{
strErr="El nombre de la carpeta especificada es el mismo que el nombre de la carpeta existente, ¡especifique un nuevo nombre de carpeta!";
}
}si no(request.getParameter("act").equals("delFoldDo"))
{
//Eliminar operación
intentar{
String strFileDelF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
Archivo fileDelF=nuevo archivo(strFileDelF);
si(fileDelF.exists()){
Archivo[] fileArrCheck=fileDelF.listFiles();
si(!(fileArrCheck.length>0))
{
fileDelF.delete();
respuesta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
devolver;
}demás
{
strErr="La carpeta todavía contiene archivos, elimine todos los archivos y luego elimine la carpeta";
}
}demás{
strErr="La carpeta a eliminar no existe, selecciónela nuevamente";
}
}captura(Excepción e)
{
strErr="¡Error en la operación de eliminación de carpeta!";
}
}else if(request.getParameter("act").equals("renameFold"))
{
strStat="renameFold";
}else if(request.getParameter("act").equals("renameFoldDo"))
{
//Operación de cambio de nombre de carpeta
//Determinar si hay un cambio en el nombre de la carpeta según los parámetros
if(request.getParameter("changeDo").equals("true"))
{
//Hay un nombre de archivo y se produce el cambio de nombre.
intentar{
String strFileRenameF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
Archivo fileRenameF=nuevo archivo(strFileRenameF);
String strFileRenameToF=strDealPath+UnicodeToChinese(request.getParameter("newFoldName"))+"\";
Archivo fileRenameToF=nuevo archivo(strFileRenameToF);
//Determinar si la carpeta renombrada existe
if(fileRenameF.exists()){
//Determinar si el nombre de la nueva carpeta tiene el mismo nombre que la carpeta existente
si(!fileRenameToF.exists())
{
fileRenameF.renameTo(fileRenameToF);
respuesta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
devolver;
}demás
{
strErr="El nombre de la carpeta especificada es el mismo que el nombre de la carpeta existente, ¡especifique un nuevo nombre de carpeta!";
}
}demás{
strErr="La carpeta a cambiar de nombre no existe, selecciónela nuevamente";
}
}captura(Excepción e)
{
strErr="¡Error en la operación de cambio de nombre de carpeta!";
}
}
}else if(request.getParameter("act").equals("renameFile"))
{
strStat="renameFile";
}else if(request.getParameter("act").equals("renameFileDo"))
{
//Operación de cambio de nombre de archivo
//Determina si hay un cambio en el nombre del archivo según los parámetros
if(request.getParameter("changeDo").equals("true"))
{
//Hay un nombre de archivo y se produce el cambio de nombre.
intentar{
String strFileRenameFi=strDealPath+UnicodeToChinese(request.getParameter("archivo"));
Archivo fileRenameFi=nuevo archivo(strFileRenameFi);
String strFileRenameToFi=strDealPath+UnicodeToChinese(request.getParameter("newFileName"));
Archivo fileRenameToFi=nuevo archivo(strFileRenameToFi);
//Determinar si el archivo renombrado existe
if(archivoRenameFi.exists()){
//Determinar si el nuevo nombre del archivo tiene el mismo nombre que el archivo existente
si(!fileRenameToFi.exists())
{
fileRenameFi.renameTo(fileRenameToFi);
respuesta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
devolver;
}demás
{
strErr="El nombre del archivo especificado es el mismo que el nombre del archivo existente, ¡especifique un nombre de archivo nuevo!";
}
}demás{
strErr="El archivo cuyo nombre desea cambiar no existe, selecciónelo nuevamente";
}
}captura(Excepción e)
{
strErr="¡Error en la operación de cambio de nombre de archivo!";
}
}
}else if(request.getParameter("act").equals("delFileDo"))
{
//Eliminar operación
intentar{
String strFileDelFi=strDealPath+UnicodeToChinese(request.getParameter("archivo"));
Archivo fileDelFi=nuevo archivo(strFileDelFi);
si(archivoDelFi.existe())
{
fileDelFi.delete();
respuesta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
devolver;
}demás{
strErr="El archivo a eliminar no existe, selecciónelo nuevamente";
}
}captura(Excepción e)
{
strErr="¡Error en la operación de eliminación de archivos!";
}
}else if(request.getParameter("act").equals("uploadFile"))
{
strStat="cargararchivo";
}else if(request.getParameter("act").equals("uploadFileDo"))
{
%>
<jsp:useBean id="mySmartUpload" alcance="página" clase="com.jspsmart.upload.SmartUpload" />
<%
//Operación de carga de archivo
mySmartUpload.initialize(pageContext);
mySmartUpload.setTotalMaxFileSize(1000000);
intente {
mySmartUpload.upload();
mySmartUpload.save(strDealPath);
respuesta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
devolver;
} captura (Excepción e) {
strErr="Error al cargar el archivo. ¡Compruebe si se excede el límite de tamaño de archivo de 1 M!";
}
}
%>
<%
out.println(strStat);
%>
<HTML><HEAD><TITLE>Listado de directorio para /</TITLE>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" nombre=GENERADOR></HEAD>
<CUERPO bgColor=blanco>
<div align="centro">
<borde de tabla=0 relleno de celdas=5 espacio de celdas=0 ancho="90%">
<tcuerpo>
<tr>
<td align=left bgcolor=#000066 valign=bottom><font color=#ffffff face=宋体
size=4 Romano? Times><b> Administrador de archivos del sitio web</b></font></td>
<td align=right bgcolor=#000066 valign=bottom><font color=#ffffff face=宋体
size=4 Romano? Times><b> <strong><%=request.getContextPath()%></strong></b></font></td>
</tr>
</tbody>
</tabla>
<table width="90%" border="0" cellspace="0" cellpadding="5">
<tr>
<td><font size="2"><b>Ruta física:</b><%=strDealPath%></font></td>
</tr>
</tabla>
<br>
<% si (strStat.equals("iniciar sesión")){%>
<table width="300" border="0" cellspace="1" cellpadding="0" >
<tr>
<td altura="200" valign="superior" align="centro">
<p align="centro">
<table width="100%" border="0" cellspace="1" cellpadding="5" bgcolor=#999999 class=a9px>
<tr>
<td bgcolor="#cccccc"><font size=+2>Iniciar sesión</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" valign="superior" align="centro">
<table width="100%" border="0" cellspace="0" cellpadding="0">
<nombre del formulario=método del formulario de datos=acción de publicación='<%=request.getRequestURI()%>?act=login'>
<tr>
<td width="100"><b><font size="-1">Nombre de inicio de sesión: </font></b></td>
<td>
<longitud máxima de entrada=16
nombre="nombre de usuario" valor="">
</td>
</tr>
<tr>
<td width="100"><b><font size="-1">Contraseña:</font></b></td>
<td>
<clase de entrada=stedit longitud máxima=16
nombre="contraseña de usuario" valor="">
</td>
</tr>
</formulario>
</tabla>
<br>
<borde de la tabla = 0 relleno de celdas = 0 espacio entre celdas = 0>
<tcuerpo>
<tr>
<td>
<nombre de entrada=actualizar onClick="javascript:if (checkform()==false);"
</td>
<td></td>
<td></td>
</tr>
</tbody>
</tabla>
<br>
</td>
</tr>
</tabla>
</td>
</tr>
</tabla>
<% // Visualización de mensaje de error
}si no(strErr!=""){
%>
<table width="90%" border="0" cellspace="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Error de operación</strong></font></td>
</tr>
</tabla>
<table align=center cellpadding=5 cellspaceing=0 width="90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(
request.getParameter(" doblar"))%>&act=renameFoldDo" método="publicar">
<tcuerpo>
<tr bgcolor=#cccccc>
<td align=left bgcolor="#cccccc"><strong><font size="-1">Motivo del error: </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);">Operación de retorno</a> ]</TT> <tt >[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Volver al directorio</a>
]<tipo de entrada=nombre oculto="cambiar" valor="false"></tt> </td>
</tr>
</tbody>
</formulario>
</tabla>
<%
}si no(strStat.equals("mostrar")){
//Mostrar la página normalmente
%>
<table width="90%" border="0" cellspace="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Lista de directorios:</strong></font></td>
</tr>
</tabla>
<table align=center cellpadding=5 cellspaceing=0 width="90%">
<tcuerpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Nombre</font></strong></font><TT> (haga clic para ingresar al directorio correspondiente)< /font>TT></td>
<td align=center><font size=+1><strong><font size="-1">Tiempo de modificación</font></strong></font></td>
<td align=center><b><font size="-1">Cambiar nombre</font></b></td>
<td align=center><b><font size="-1">Eliminar</font></b></td>
</tr>
<%
//Muestra el color inicial de las filas de la tabla
Cadena bgColor="";
//Si no es el directorio raíz, muestra un enlace al directorio superior
si(!(strDealPath.equals(strSysPath))){%>
<trbgcolor=<%=bgColor%>>
<td align=left > <tt><font color=#000066 face=WingDings
size=4>0</font>
<a title="Haga clic para ingresar al directorio superior" href="<%=request.getRequestURI()%>
?path=<%=(myFile.getParent())+" "%>&act=show ">Directorio superior</a></tt></td>
<td align=right> </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<%}
for(int i=0; i<fileArr.length; i++){
//Si es una carpeta, muéstrala
if(archivoArr[i].isDirectory()){
//Conversión de color entrelazado
bgColor=bgColor.equals("#eeeeee") "" : "#eeeeee";
%>
<trbgcolor=<%=bgColor%>>
<td align=left > <tt><FONT color=#000066 face=WingDings
size=4>0</FONT>
<a title="Haga clic para ingresar al directorio correspondiente" href="<%=request.getRequestURI()%>
?path=<%=strDealPath+fileArr[i].getName() +" \"%>&act=show"><%=fileArr[i].getName()%></a></t
t></td>
<td align=center><tt><%=(nueva fecha(fileArr[i].lastModified()))%></tt></td>
<td align=center><TT>
<a href="<%=request.getRequestURI()%>
?path=<%=strDealPath%>&fold=<%=fileArr[i].getName()%>&act=renameFold">Renombrar</a></TT></td>
<form name="dataFormFold<%=i%>" método="post"
action="<%=request.getRequestURI()%>?path=<%=strDealPath%>&fold=<%=fileArr[i]. getName()%>&act=delFoldDo"><td
align=center><TT><a href="javascript:if(confirm('¿Realmente desea eliminar esta carpeta, todo el contenido ya no estará disponible?
' )){ window.dataFormFold<%=i%>.submit();}">Eliminar</a></TT></td></form>
</tr>
<%}
}%>
<tr align="centro">
<td bgcolor=#cccccc colspan=4><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=createF">Nueva carpeta
</a>
]</TT></td>
</tr>
</tbody>
</tabla>
<table width="90%" border="0" cellspace="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Lista de archivos:</strong></font></td>
</tr>
</tabla>
<TABLE align=center cellPadding=5 cellSpacing=0 ancho="90%">
<CUERPO>
<TR bgColor=#cccccc>
<TD align=left><FONT size=+1><STRONG><font size="-1">Nombre</font></STRONG></FONT><TT> (Haga clic para editar el archivo correspondiente)< /TT></TD>
<TD align=center><FONT size=+1><strong><font size="-1">tamaño</font></strong></FONT></TD>
<TD align=center><FONT size=+1><STRONG><font size="-1">Tiempo de modificación</font></STRONG></FONT></TD>
<TD align=center><b><font size="-1">Cambiar nombre</font></b></TD>
<TD align=center><b><font size="-1">Eliminar</font></b></TD>
</TR>
<%
bgColor="#eeeeee";
if(fileArr.length!=0){
for(int i=0; i<fileArr.length; i++){
//Si es un archivo lo mostramos
if(archivoArr[i].isArchivo()){
bgColor=bgColor.equals("#eeeeee") "" : "#eeeeee";
%>
<TR bgColor=<%=bgColor%>>
<TD align=izquierda> <TT><FONT color=#000066 face=WingDings
size=4>3</FONT>
<a title="Haga clic para editar el archivo correspondiente" 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><%=(nueva fecha(fileArr[i].lastModified()))%></TT></TD>
<TD align=center><TT>
<a href="<%=request.getRequestURI()%>
?path=<%=strDealPath%>&file=<%=fileArr[i].getName()%>&act=renameFile">Renombrar</a></TT></TD>
<form name="dataFormFile<%=i%>" método="post"
action="<%=request.getRequestURI()%>?path=<%=strDealPath%>&file=<%=fileArr[i]. getName()%>&act=delFileDo"><TD
align=center><TT><a href="javascript:if(confirm('¿Realmente desea eliminar este archivo? El contenido ya no estará disponible?
') ){window.dataFormFile <%=i%>.submit();}">Eliminar</a></TT></TD></form>
</TR>
<%}
}
} más {%>
<TR>
<TD align=left > <TT>Sin archivo</TT></TD>
<TD align=right></TD>
<TD align=right></TD>
<TD align=center> </TD>
<TD align=center> </TD>
</TR>
<%}%>
<TR align="centro">
<TD bgColor=#cccccc colSpan=5><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=uploadFile">Subir
archivo
</a> ]</TT></TD>
</TR>
</TBODY>
</TABLA>
<%
//Finaliza el estado de visualización normal
}si no(strStat.equals("editar")){
//Estado de edición del archivo
BufferedReader bufReadIn=new BufferedReader(new
FileReader(UnicodeToChinese(request.getParameter("ruta"))+UnicodeToChinese(request.getParameter("archivo"))));
Cadena strContext="";
Cadena strReadLine="";
%>
<table width="90%" border="0" cellspace="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Editar archivo:</strong></font></td>
</tr>
</tabla>
<table align=center cellpadding=5 cellspaceing=0 width="90%">
<form name=dataForm
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(
request.getParameter(" archivo"))%>&act=editDo" método="publicar">
<tcuerpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Nombre de archivo</font></strong></font><tt><font color=#000066
face= Alas
tamaño=4>3</font><%=(UnicodeToChinese(request.getParameter("ruta"))+UnicodeToChinese(request.getParameter("archivo")))%></tt></td>
</tr>
<tr>
<td align=center><textarea name="fileData" filas=18 cols=70 wrap=""OFF""><%
mientras((strReadLine=bufReadIn.readLine())!=null)
out.println(strReadLine);
bufReadIn.close();%></textarea></td>
</tr>
<tr>
<td bgcolor=#cccccc align="centro">
<TT>[ <a href="javascript:window.dataForm.submit();">Enviar contenido</a> ]</TT> <TT>[ <a
href="<%=request. getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Volver al directorio</a> ]</TT>
</td>
</tr>
</tbody>
</formulario>
</tabla>
<%
}si no(strStat.equals("createF")){
%>
<table width="90%" border="0" cellspace="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Crear carpeta:</strong></font></td>
</tr>
</tabla>
<table align=center cellpadding=5 cellspaceing=0 width="90%">
<form name=dataForm
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=createFDo" método="post">
<tcuerpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">La carpeta que deseas crear está en</font></strong></font><font color=# 000066
cara=Alas
tamaño=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="- 1">Abajo
</font></strong></font></td>
</tr>
<tr>
<td align=izquierda>
<TT>Nuevo nombre de carpeta:</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);">Enviar contenido</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Volver a la tabla de contenidos</a>
]</tt> </td>
</tr>
</tbody>
</formulario>
</tabla>
<%
}si no(strStat.equals("renameFold"))
{%>
<table width="90%" border="0" cellspace="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Cambiar nombre de carpeta:</strong></font></td>
</tr>
</tabla>
<table align=center cellpadding=5 cellspaceing=0 width="90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(
request.getParameter(" doblar"))%>&act=renameFoldDo" método="publicar">
<tcuerpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">La carpeta cuyo nombre desea cambiar</font></strong></font><font color=#000066
face = Alas
tamaño=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("fold"))+" \")% ><
/tt >>td>
</tr>
<tr>
<td align=left> <tt>Nombre de carpeta renombrado:</tt>
<tipo de entrada=nombre de texto=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);">Enviar contenido</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Volver a la tabla de contenidos</a>
]<tipo de entrada=nombre oculto="cambiar" valor="false"></tt> </td>
</tr>
</tbody>
</formulario>
</tabla>
<%
}else if(strStat.equals("renameFile"))
{%>
<table width="90%" border="0" cellspace="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Cambiar nombre del archivo:</strong></font></td>
</tr>
</tabla>
<table align=center cellpadding=5 cellspace=0 width="90%">
<form name=dataForm3
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(
request.getParameter(" archivo"))%>&act=renameFileDo" método="publicar">
<tcuerpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">El archivo cuyo nombre desea cambiar</font></strong></font><font color=#000066
cara = Alas
tamaño=4>3</font><tt><%=(UnicodeToChinese(request.getParameter("ruta"))+UnicodeToChinese(request.getParameter("archivo")))%></tt><
/td>
</tr>
<tr>
<td align=left> <tt>Nombre de archivo renombrado:</tt>
<tipo de entrada=nombre de texto=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);">Enviar contenido</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Volver a la tabla de contenidos</a>
]
<tipo de entrada=nombre oculto="cambiar" valor="falso">
</tt> </td>
</tr>
</tbody>
</formulario>
</tabla>
<%
}si no(strStat.equals("uploadFile")){
%>
<table width="90%" border="0" cellspace="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Subir archivos:</strong></font></td>
</tr>
</tabla>
<table align=center cellpadding=5 cellspaceing=0 width="90%">
<form name=dataForm4
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=uploadFileDo" método="post"
ENCTYPE="multipart /datos-formulario">
<tcuerpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">El archivo que deseas subir está en</font></strong></font><font color=# 000066
cara =AlasDings
tamaño=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="- 1">Abajo
</font></strong></font></td>
</tr>
<tr>
<td align=left> <tt>Seleccione el archivo cargado:</tt>
<TIPO DE ENTRADA="NOMBRE DE ARCHIVO"="NombredeArchivo" TAMAÑO="30"></td>
</tr>
<tr>
<td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm4()==false);">Enviar contenido</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Volver a la tabla de contenidos</a>
]
</tt> </td>
</tr>
</tbody>
</formulario>
</tabla>
<%
}
%>
<br>
<br>
<hora>
<TT>©Copyright: Jarard·Ast Versión: chino simplificado 1.00</TT>
<br><TT>Para cualquier comentario o sugerencia, comuníquese con: <a href=" mailto:[email protected]"><font color=red>[email protected]</font></a></ TT>
</div>
</BODY></HTML>
<IDIOMA DE ESCRITURA=javascript>
<!--
<%
//Función que muestra diferentes parámetros de detección en función de diferentes parámetros
if(strStat.equals("iniciar sesión")) {%>
formulario de verificación de función()
{
var Checkblank = /^(s*|( )|(.))*$/
si (Checkblank.test(dataform.username.value))
{
alert("¡El nombre de inicio de sesión no puede estar vacío!");
devolver falso;
}
si (Checkblank.test(dataform.userpass.value))
{
alert("¡La contraseña no puede estar vacía!");
devolver falso;
}
ventana.formulario de datos.enviar()
;
<%}si no(strStat.equals("createFold")) {%>
función verificarForm()
{
var Cheque en blanco = /^(s*|( )|(.))*$/;
si (Checkblank.test(dataForm.foldName.value))
{
alert("¡El nombre de la nueva carpeta no puede estar vacío!");
dataForm.foldName.focus();
devolver falso;
}
var SPECIAL_STR = " \/:*? "><|";
for(i=0;i<(dataForm.foldName.value).length;i++)
{
if (SPECIAL_STR.indexOf((dataForm.foldName.value).charAt(i)) !=-1)
{
alert("El nombre de la carpeta no puede contener los siguientes caracteres \/:*? "><|");
dataForm.foldName.focus();
devolver falso;
}
}
ventana.dataForm.submit();
}
<%}else if(strStat.equals("renameFold")) {%>
función verificarForm2()
{
var Cheque en blanco = /^(s*|( )|(.))*$/;
si (Checkblank.test(dataForm2.newFoldName.value))
{
alert("¡El nombre de la carpeta renombrada no puede estar vacío!");
dataForm2.newFoldName.focus();
devolver falso;
}
var SPECIAL_STR = " \/:*? "><|";
for(i=0;i<(dataForm2.newFoldName.value).length;i++)
{
if (SPECIAL_STR.indexOf((dataForm2.newFoldName.value).charAt(i)) !=-1)
{
alert("El nombre de la carpeta no puede contener los siguientes caracteres \/:*? "><|");
dataForm2.newFoldName.focus();
devolver falso;
}
}
// Si el nombre del archivo es diferente del nombre del archivo original después de cambiar el nombre, marque un parámetro para indicar que la acción de cambio de nombre efectivamente ha ocurrido.
if(dataForm2.newFoldName.value!="<%=UnicodeToChinese(request.getParameter("fold"))%>")
{
ventana.dataForm2.changeDo.value="true";
}
demás
{
alert("¡Ingrese un nuevo nombre de carpeta!");
dataForm2.newFoldName.focus();
devolver falso;
}
ventana.dataForm2.submit()
;
<%}else if(strStat.equals("renameFile"))
{%>
función checkForm3()
{
var Cheque en blanco = /^(s*|( )|(.))*$/;
si (Checkblank.test(dataForm3.newFileName.value))
{
alert("¡El nombre de la carpeta renombrada no puede estar vacío!");
dataForm3.newFileName.focus();
devolver falso;
}
var SPECIAL_STR = " \/:*? "><|";
for(i=0;i<(dataForm3.newFileName.value).length;i++)
{
if (SPECIAL_STR.indexOf((dataForm3.newFileName.value).charAt(i)) !=-1)
{
alert("El nombre del archivo no puede contener los siguientes caracteres \/:*? "><|");
dataForm3.newFileName.focus();
devolver falso;
}
}
// Si el nombre del archivo es diferente del nombre del archivo original después de cambiar el nombre, marque un parámetro para indicar que la acción de cambio de nombre efectivamente ha ocurrido.
if(dataForm3.newFileName.value!="<%=UnicodeToChinese(request.getParameter("file"))%>")
{
ventana.dataForm3.changeDo.value="true";
}
demás
{
alert("¡Ingrese un nuevo nombre de archivo!");
dataForm3.newFileName.focus();
devolver falso;
}
window.dataForm3.submit();
}
<%}else if(strStat.equals("uploadFile")){%>
función checkForm4()
{
var Cheque en blanco = /^(s*|( )|(.))*$/;
si (Checkblank.test(dataForm4.fileName.value))
{
alert("¡El nombre de la carpeta renombrada no puede estar vacío!");
dataForm4.fileName.focus();
devolver falso;
}
ventana.dataForm4.submit();
}
<%}%>
//-->
</SCRIPT>