A ideia de design por trás do desenvolvimento deste arquivo é esta. Alguns sites ou clientes de software B/S geralmente têm requisitos especiais para determinados detalhes durante a fase de instalação e depuração do software, talvez ajustes de fonte ou pequenas alterações na interface. Diante de tal situação, se o usuário não abrir a função FTP, o pessoal de desenvolvimento e manutenção muitas vezes terá que ir ao site para fazer alguns pequenos trabalhos de depuração.
Isso é uma perda de tempo, mão de obra e recursos materiais.
Nessas circunstâncias, desenvolvi este arquivo JSP de página única com funções de gerenciamento de arquivos. Ele fornece funções para adicionar, renomear e excluir pastas; Basicamente, ele pode satisfazer o pequeno trabalho de modificação durante a fase de instalação e depuração do software.
Por motivos de segurança, esta página JSP fornece funcionalidade simples de login do usuário.
Antes de usar, coloque este arquivo no arquivo do site ou em qualquer diretório do produto B/S. Abra as permissões de leitura e gravação para o diretório de instalação do arquivo. Os usuários podem efetuar login remotamente na página JSP para exercer funções de gerenciamento. Após a conclusão da fase de instalação e manutenção, modifique as permissões de leitura e gravação do diretório de instalação do arquivo e exclua o arquivo para evitar riscos de segurança.
Por padrão, o nome de usuário de login é: admin e a senha é:
ambiente de desenvolvimento oddworld jakarta-tomcat-4.0.3.exe
Nota: Porque a função de upload de arquivo deste software deve ser suportada pelo componente smartupload. Por favor, coloque smartupload na pasta web-inf correspondente do Tomcat. Se os componentes suportados pelo upload forem diferentes, faça você mesmo os ajustes.
Breves instruções de desenvolvimento: Porque este documento não é complicado e sinto que embora a descrição do documento não seja padronizada, também é detalhada, por isso pretendo apenas explicar brevemente alguns pequenos detalhes.
1. Quando este arquivo executa operações de diretório de arquivos, o diretório é passado diretamente como parâmetro sem conversão correspondente. Isso ocorre porque em Java, "English Characters" pode ser considerado como caracteres de escape, causando problemas inesperados durante o processamento de caracteres, então acho mais razoável usar o diretório diretamente como parâmetro.
2. Este documento usa conexões em vez de botões ao enviar alguns formulários. Isso ocorre porque quando o JavaScript processa strings com "", ele também pode processar caracteres de escape. Portanto, para evitar esta situação, os envios que passam parâmetros de diretório usam o método. formulário de conexão.
3. strStat e strErr são duas strings executadas em todo o arquivo. A primeira é um comando de julgamento sobre quais operações a página executará e a última é um prompt de informações para erros em todas as operações.
4. Não farei nenhuma explicação sobre quaisquer disputas de segurança ou outras que possam surgir deste documento. Eu apenas forneço este arquivo como uma ferramenta gratuita para referência e uso de todos.
-------------------------------------------------- ---------------
Conteúdo do arquivo admin.jsp
<%-- sistema de gerenciamento de arquivos do site oddWorld (versão em chinês simplificado) 10 de outubro de 2003
cópia direita por joard Ast
Função admin.jsp: página de gerenciamento de plano de fundo do arquivo do site.
--%>
<%@ page contentType="text/html;charset=gb2312" %>
<%@page import="java.io.*" %>
<%@page import="java.util.Date" %>
<%@ page import="com.jspsmart.upload.SmartUpload" %>
<%@page import="javax.servlet.http.HttpSession" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%@page import="java.lang.reflect.*" %>
<% //Conversão de caracteres chineses%>
<%!
String estática pública UnicodeToChinese(String s){
tentar{
if(s==null||s.equals("")) return "";
String newstring=nulo;
newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
retornar nova string;
}
catch(UnsupportedEncodingException e)
{
retornar;
}
}
string estática pública ChineseToUnicode(String s){
tentar{
if(s==null||s.equals("")) return "";
String newstring=nulo;
newstring=nova String(s.getBytes("gb2312"),"ISO8859_1");
retornar nova string;
}
catch(UnsupportedEncodingException e)
{
retornar;
}
}
%>
<%
//atualiza o problema
response.setHeader("Pragma","Sem cache");
response.setHeader("Cache-Control","sem cache");
response.setDateHeader("Expira", 0);
//Personaliza senha e nome de usuário para login
//Nome de usuário correto
String nome de usuário = "admin"
//Corrige a senha
String userpass="oddworld";
//Obtém o caminho do sistema
ServletContext app=(ServletContext)pageContext.getServletContext();
String strSysPath = app.getRealPath("/");
//Processa o caminho físico do objeto
String strDealPath="";
//Exibir mensagem de erro
String strErr="";
//Representa o status de exibição da página, login é para exibir a página de login; show é para exibir as informações do arquivo normalmente
; página de criação de pastas; createFold é a operação de criação de
uma
pasta; renameFold é a operação de exclusão da pasta; página que exibe o nome do arquivo; renameFileDo é a operação de alteração do nome do arquivo;
delFileDo é a operação de exclusão de arquivos;
String strStat="login";
//Array usado para exibir arquivos no estado show
File[] fileArr=null;
//Obtém o caminho físico do objeto a ser processado com base no parâmetro path passado
if (request.getParameter("caminho")==null || request.getParameter("caminho").equals("")){
strDealPath=strSysPath;
}outro{
//Obter parâmetros do caminho
strDealPath=UnicodeToChinese(request.getParameter("caminho"));
}
//Verifica se o valor da sessão existe, caso contrário, exibe uma mensagem de erro
//Sessão HTTPSession = request.getSession(false);
if (session.getValue("loginIn")==null || !session.getValue("loginIn").equals("pass"))
{
strStat="login";
strErr="Você não fez login ou seu login expirou, por favor faça login novamente!";
}
//Cria um objeto de arquivo e verifica se o diretório existe
File myFile=new File(strDealPath);
//Verifica se a pasta existe
if(!meuArquivo.exists()){
strErr="A pasta que você selecionou não existe, selecione novamente!";
}
//De acordo com diferentes parâmetros, execute as operações correspondentes
if(request.getParameter("act")==null || request.getParameter("act").equals("") ||
request.getParameter("act").equals("login"))
{
if(request.getParameter("nomedeusuário")!=null && request.getParameter("userpass")!=null)
{
//Corrige a senha criptografada MD5
//String userpass="OEEO99107DC8C1EE2E06666B965601EF";
if(request.getParameter("nome de usuário").equals(nome de usuário) && (request.getParameter("userpass")).equals(userpass))
{
session.putValue("loginIn","pass");
resposta.sendRedirect(request.getRequestURI()+"?act=show");
}
}
outro {
strStat="login";
strErr="Você não fez login ou seu login expirou, por favor faça login novamente!";
}
}else if(request.getParameter("act").equals("show")){
//Padrão, a página exibe informações do arquivo normalmente statStat="show"
strStat="mostrar";
//Cria array de lista de arquivos
arquivoArr=meuArquivo.listArquivos();
}else if(request.getParameter("act").equals("edit"))
{
//Página para edição do conteúdo do arquivo
//De acordo com a existência de request.getParameter("file") e se o arquivo correspondente existe. Em caso afirmativo, execute a operação de edição. Caso contrário, exiba uma mensagem de erro.
if (!(request.getParameter("arquivo")==null || request.getParameter("arquivo").equals(""))){
Arquivo fileEdit=new
Arquivo(UnicodeToChinese(request.getParameter("caminho"))+UnicodeToChinese(request.getParameter("arquivo")));
if(arquivoEdit.exists())
//A operação de edição do arquivo consiste, na verdade, em alterar a exibição da página e usar uma área de texto para exibir as informações do arquivo para edição.
strStat="editar";
outro
//Mostra mensagem de erro
strErr="O arquivo que você selecionou não existe, selecione novamente!";
}outro{
strErr="Você não selecionou o arquivo para editar, selecione novamente!";
}
}else if(request.getParameter("act").equals("editDo"))
{
//Escreve o conteúdo modificado no arquivo e retorna para a página de modificação
if (!(request.getParameter("arquivo")==null || request.getParameter("arquivo").equals("")))
{
Arquivo fileEdit=new
Arquivo(UnicodeToChinese(request.getParameter("caminho"))+UnicodeToChinese(request.getParameter("arquivo")));
if(arquivoEdit.exists())
{
//A operação de edição de arquivo consiste, na verdade, em usar uma área de texto para exibir o conteúdo do arquivo na página após modificar o conteúdo do arquivo e continuar editando ou
visualizando o efeito da modificação.
if(!(request.getParameter("fileData")==null))
{
tentar{
PrintWriter pwEdit = null;
pwEdit=new PrintWriter(new
FileOutputStream(UnicodeToChinese(request.getParameter("caminho"))+UnicodeToChinese(request.getParameter("arquivo"))));
pwEdit.println(UnicodeToChinese(request.getParameter("fileData")));
pwEdit.close();
resposta.sendRedirect(request.getRequestURI()+"?path="+
UnicodeToChinese(request.getParameter("caminho")) +"&file="+ UnicodeToChinese(request.getParameter("arquivo")) +"&act=editar" );
retornar;
}catch(Exceção e){
strErr="Erro ao gravar arquivo, selecione novamente!";
}
}outro{
strErr="Falta o parâmetro para modificar o conteúdo do arquivo, selecione novamente!";
}
}outro
//Mostra mensagem de erro
strErr="O arquivo que você selecionou não existe, selecione novamente!";
}outro{
strErr="Você não selecionou o arquivo para editar, selecione novamente!";
}
}else if(request.getParameter("act").equals("createF"))
{
//Mostra a página para criar uma nova pasta
strStat="criarF";
}else if(request.getParameter("act").equals("createFDo"))
{
//Cria uma nova pasta
String strFoldName=strDealPath+UnicodeToChinese(request.getParameter("foldName")).trim()+"\"
;
//out.close();
Arquivo fileCreateF=new Arquivo(strFoldName);
if(!fileCreateF.exists())
{
tentar{
arquivoCreateF.mkdir();
resposta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retornar;
}catch(Exceção e){
strErr="Falha ao criar nova pasta!";
}
}
outro
{
strErr="O nome da pasta especificada é igual ao nome da pasta existente, especifique um novo nome de pasta!";
}
}else if(request.getParameter("act").equals("delFoldDo"))
{
//Excluir operação
tentar{
String strFileDelF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
Arquivo fileDelF = novo arquivo (strFileDelF);
if(arquivoDelF.exists()){
Arquivo[] fileArrCheck=fileDelF.listFiles();
if(!(fileArrCheck.length>0))
{
arquivoDelF.delete();
resposta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retornar;
}outro
{
strErr="A pasta ainda contém arquivos, exclua todos os arquivos e depois exclua a pasta";
}
}outro{
strErr="A pasta a ser excluída não existe, selecione novamente";
}
}catch(Exceção e)
{
strErr="Erro na operação de exclusão de pasta!";
}
}else if(request.getParameter("act").equals("renameFold"))
{
strStat="renomearFold";
}else if(request.getParameter("act").equals("renameFoldDo"))
{
//Operação de renomeação de pasta
//Determina se há uma alteração no nome da pasta com base nos parâmetros
if(request.getParameter("changeDo").equals("true"))
{
//Há um nome de arquivo e a mudança de nome ocorre
tentar{
String strFileRenameF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
Arquivo fileRenameF = novo arquivo (strFileRenameF);
String strFileRenameToF=strDealPath+UnicodeToChinese(request.getParameter("newFoldName"))+"\";
Arquivo fileRenameToF = novo arquivo (strFileRenameToF);
//Determina se a pasta renomeada existe
if(fileRenameF.exists()){
//Determina se o nome da nova pasta tem o mesmo nome da pasta existente
if(!fileRenameToF.exists())
{
arquivoRenameF.renameTo(arquivoRenameToF);
resposta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retornar;
}outro
{
strErr="O nome da pasta especificada é igual ao nome da pasta existente, especifique um novo nome de pasta!";
}
}outro{
strErr="A pasta a ser renomeada não existe, selecione novamente";
}
}catch(Exceção e)
{
strErr="Erro na operação de renomeação de pasta!";
}
}
}else if(request.getParameter("act").equals("renameFile"))
{
strStat="renomearArquivo";
}else if(request.getParameter("act").equals("renameFileDo"))
{
//Operação de renomeação de arquivo
//Determina se há uma alteração no nome do arquivo com base nos parâmetros
if(request.getParameter("changeDo").equals("true"))
{
//Há um nome de arquivo e a mudança de nome ocorre
tentar{
String strFileRenameFi=strDealPath+UnicodeToChinese(request.getParameter("arquivo"));
Arquivo fileRenameFi = novo arquivo (strFileRenameFi);
String strFileRenameToFi=strDealPath+UnicodeToChinese(request.getParameter("newFileName"));
Arquivo fileRenameToFi = novo arquivo (strFileRenameToFi);
//Determina se o arquivo renomeado existe
if(fileRenameFi.exists()){
//Determina se o novo nome do arquivo tem o mesmo nome do arquivo existente
if(!fileRenameToFi.exists())
{
arquivoRenameFi.renameTo(arquivoRenameToFi);
resposta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retornar;
}outro
{
strErr="O nome do arquivo especificado é igual ao nome do arquivo existente, especifique um novo nome de arquivo!";
}
}outro{
strErr="O arquivo a ser renomeado não existe, selecione novamente";
}
}catch(Exceção e)
{
strErr="Erro na operação de renomeação de arquivo!";
}
}
}else if(request.getParameter("act").equals("delFileDo"))
{
//Excluir operação
tentar{
String strFileDelFi=strDealPath+UnicodeToChinese(request.getParameter("arquivo"));
Arquivo fileDelFi = novo arquivo (strFileDelFi);
if(arquivoDelFi.exists())
{
arquivoDelFi.delete();
resposta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retornar;
}outro{
strErr="O arquivo a ser excluído não existe, selecione novamente";
}
}catch(Exceção e)
{
strErr="Erro na operação de exclusão de arquivo!";
}
}else if(request.getParameter("act").equals("uploadFile"))
{
strStat="uploadArquivo";
}else if(request.getParameter("act").equals("uploadFileDo"))
{
%>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
//Operação de upload de arquivo
mySmartUpload.initialize(pageContext);
1000000
);
meuSmartUpload.upload();
meuSmartUpload.save(strDealPath);
resposta.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retornar;
} catch (Exceção e) {
strErr="Erro no upload do arquivo, verifique se o limite de tamanho do arquivo de 1M foi excedido!";
}
}
%>
<%
out.println(strStat);
%>
<HTML><HEAD><TITLE>Listagem de diretório para /</TITLE>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY bgColor=branco>
<div alinhar="centro">
<table border=0 cellpadding=5 cellpacing=0 width="90%">
<corpo>
<tr>
<td align=left bgcolor=#000066 valign=bottom><font color=#ffffff face=宋体
size=4 Roman? Novo ,?times><b> Gerenciador de arquivos do site</b></font></td>
<td align=right bgcolor=#000066 valign=bottom><font color=#ffffff face=宋体
size=4 Romano?Novo ,?times><b> <strong><%=request.getContextPath()%></strong></b></font></td>
</tr>
</tbody>
</tabela>
<table width="90%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td><font size="2"><b>Caminho físico:</b><%=strDealPath%></font></td>
</tr>
</tabela>
<br>
<% if (strStat.equals("login")){%>
<table width="300" border="0" cellpacing="1" cellpadding="0" >
<tr>
<td height="200" valign="top" align="center">
<p alinhar="centro">
<table width="100%" border="0" cellpacing="1" cellpadding="5" bgcolor=#999999 class=a9px>
<tr>
<td bgcolor="#cccccc"><font size=+2>Login</font></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" valign="top" align="center">
<table width="100%" border="0" cellpacing="0" cellpadding="0">
<form name=dataform method=post action='<%=request.getRequestURI()%>?act=login'>
<tr>
<td width="100"><b><font size="-1">Nome de login: </font></b></td>
<td>
<comprimento máximo de entrada=16
nome="nome de usuário" valor="">
</td>
</tr>
<tr>
<td width="100"><b><font size="-1">Senha:</font></b></td>
<td>
<classe de entrada=stedit maxlength=16
nome="userpass" valor="">
</td>
</tr>
</form>
</tabela>
<br>
<borda da tabela=0 cellpadding=0 cellpacing=0>
<corpo>
<tr>
<td>
<input name=update onClick="javascript:if (checkform()==false);" type=button value="Login">
</td>
<td> </td>
<td> </td>
</tr>
</tbody>
</tabela>
<br>
</td>
</tr>
</tabela>
</td>
</tr>
</tabela>
<% //Exibição de mensagem de erro
}else if(strErr!=""){
%>
<table width="90%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Erro de operação</strong></font></td>
</tr>
</tabela>
<tabela alinhar = centro cellpadding = 5 células espaçamento = 0 largura = "90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques
t.getParameter(" fold"))%>&act=renameFoldDo" method="post">
<corpo>
<tr bgcolor=#cccccc>
<td align=left bgcolor="#cccccc"><strong><font size="-1">Motivo do erro: </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);">Operação de retorno</a> ]</TT> <tt >[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Retornar ao diretório</a>
]<input type=hidden name="changeDo" value="false"></tt> </td>
</tr>
</tbody>
</form>
</tabela>
<%
}else if(strStat.equals("mostrar")){
//Mostra a página normalmente
%>
<table width="90%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Lista de diretórios:</strong></font></td>
</tr>
</tabela>
<tabela alinhar = centro cellpadding = 5 células espaçamento = 0 largura = "90%">
<corpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Nome</font></strong></font><TT> (clique para entrar no diretório correspondente)< /font> TT></td>
<td align=center><font size=+1><strong><font size="-1">Hora da modificação</font></strong></font></td>
<td align=center><b><font size="-1">Renomear</font></b></td>
<td align=center><b><font size="-1">Excluir</font></b></td>
</tr>
<%
//Mostra a cor inicial das linhas da tabela
String bgColor="";
//Se não for o diretório raiz, exibe um link de volta para o diretório superior
if(!(strDealPath.equals(strSysPath))){%>
<tr bgcolor=<%=bgColor%>>
<td align=left > <tt><font color=#000066 face=WingDings
size=4>0</font>
<a title="Clique para entrar no diretório superior" href="<%=request.getRequestURI()%>
?path=<%=(myFile.getParent())+" "%>&act=show ">Diretório 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++){
//Se for uma pasta, exibe-a
if(fileArr[i].isDirectory()){
//Conversão entrelaçada de cores
bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee";
%>
<tr bgcolor=<%=bgColor%>>
<td align=left > <tt><FONT color=#000066 face=WingDings
size=4>0</FONT>
<a title="Clique para entrar no diretório correspondente" href="<%=request.getRequestURI()%>
?path=<%=strDealPath+fileArr[i].getName() +" \"%>&act=show"><%=fileArr[i].getName()%></a></t
t></td>
<td align=center><tt><%=(new Date(fileArr[i].lastModified()))%></tt></td>
<td align=center><TT>
<a href="<%=request.getRequestURI()%>
?path=<%=strDealPath%>&fold=<%=fileArr[i].getName()%>&act=renameFold">Renomear</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('Você realmente deseja excluir esta pasta, todo o conteúdo não estará mais disponível?
' )){ window.dataFormFold<%=i%>.submit();}">Excluir</a></TT></td></form>
</tr>
<%}
}%>
<tr alinhar="centro">
<td bgcolor=#cccccc colspan=4><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=createF">Nova pasta
</a>
]</TT></td>
</tr>
</tbody>
</tabela>
<table width="90%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Lista de arquivos:</strong></font></td>
</tr>
</tabela>
<TABLE align=center cellPadding=5 cellSpacing=0 width="90%">
<TBODY>
<TR bgColor=#cccccc>
<TD align=left><FONT size=+1><STRONG><font size="-1">Nome</font></STRONG></FONT><TT> (Clique para editar o arquivo correspondente)< /TT></TD>
<TD align=center><FONT size=+1><strong><font size="-1">tamanho</font></strong></FONT></TD>
<TD align=center><FONT size=+1><STRONG><font size="-1">Tempo de modificação</font></STRONG></FONT></TD>
<TD align=center><b><font size="-1">Renomear</font></b></TD>
<TD align=center><b><font size="-1">Excluir</font></b></TD>
</TR>
<%
bgColor="#eeeee";
if(fileArr.length!=0){
for(int i=0; i<fileArr.length; i++){
//Se for um arquivo, exibe-o
if(arquivoArr[i].isArquivo()){
bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee";
%>
<TR bgColor=<%=bgColor%>>
<TD alinhar=esquerda > <TT><FONT color=#000066 face=WingDings
size=4>3</FONT>
<a title="Clique para editar o arquivo correspondente" href="<%=request.getRequestURI()%>
?path=<%=strDealPath%>&file=<%=fileArr[ i].getName()%>&act=edit"><%=fileArr[i].getName()%></
a></TT></TD>
<TD align=center><TT><%=fileArr[i].length()%></TT></TD>
<TD align=center><TT><%=(new Date(fileArr[i].lastModified()))%></TT></TD>
<TD align=center><TT>
<a href="<%=request.getRequestURI()%>
?path=<%=strDealPath%>&file=<%=fileArr[i].getName()%>&act=renameFile">Renomear</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('Você realmente deseja excluir este arquivo? O conteúdo não estará mais disponível?
') ){window.dataFormFile <%=i%>.submit();}">Excluir</a></TT></TD></form>
</TR>
<%}
}
}outro {%>
<TR>
<TD align=left > <TT>Nenhum arquivo</TT></TD>
<TD align=right></TD>
<TD align=right></TD>
<TD align=center></TD>
<TD align=center></TD>
</TR>
<%}%>
<TR alinhar="centro">
<TD bgColor=#cccccc colSpan=5><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=uploadFile">Fazer upload
do arquivo
</a> ]</TT></TD>
</TR>
</TBODY>
</TABELA>
<%
//O estado normal de exibição termina
}else if(strStat.equals("editar")){
//Status de edição do arquivo
BufferedReader bufReadIn=new BufferedReader(new
FileReader(UnicodeToChinese(request.getParameter("caminho"))+UnicodeToChinese(request.getParameter("arquivo"))));
String strContext="";
String strReadLine="";
%>
<table width="90%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Editar arquivo:</strong></font></td>
</tr>
</tabela>
<tabela alinhar = centro cellpadding = 5 células espaçamento = 0 largura = "90%">
<form name=dataForm
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(reques
t.getParameter(" arquivo"))%>&act=editDo" método="post">
<corpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Nome do arquivo</font></strong></font><tt><font color=#000066
face= WingDings
size=4>3</font><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))%></tt></td>
</tr>
<tr>
<td align=center><textarea name="fileData" rows=18 cols=70 wrap=""OFF""><%
while((strReadLine=bufReadIn.readLine())!=null)
out.println(strReadLine);
bufReadIn.close();%></textarea></td>
</tr>
<tr>
<td bgcolor=#cccccc align="center">
<TT>[ <a href="javascript:window.dataForm.submit();">Enviar conteúdo</a> ]</TT> <TT>[ <a
href="<%=request. getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Retornar ao diretório</a> ]</TT>
</td>
</tr>
</tbody>
</form>
</tabela>
<%
}else if(strStat.equals("createF")){
%>
<table width="90%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Criar pasta:</strong></font></td>
</tr>
</tabela>
<tabela alinhar = centro cellpadding = 5 células espaçamento = 0 largura = "90%">
<form name=dataForm
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=createFDo" method="post">
<corpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">A pasta que você deseja criar está em</font></strong></font><font color=# 000066
face = WingDings
size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="- 1">Para baixo
</font></strong></font></td>
</tr>
<tr>
<td alinhar=esquerda>
<TT>Novo nome da pasta:</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 conteúdo</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Voltar ao índice</a>
]</tt> </td>
</tr>
</tbody>
</form>
</tabela>
<%
}else if(strStat.equals("renameFold"))
{%>
<table width="90%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Renomear pasta:</strong></font></td>
</tr>
</tabela>
<tabela alinhar = centro cellpadding = 5 células espaçamento = 0 largura = "90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques
t.getParameter(" fold"))%>&act=renameFoldDo" method="post">
<corpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">A pasta que você deseja renomear</font></strong></font><font color=#000066
face =AsasDings
size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("fold"))+" \")% ><
/tt </td>
</tr>
<tr>
<td align=left> <tt>Nome da pasta renomeada:</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);">Enviar conteúdo</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Voltar ao índice</a>
]<input type=hidden name="changeDo" value="false"></tt> </td>
</tr>
</tbody>
</form>
</tabela>
<%
}else if(strStat.equals("renameFile"))
{%>
<table width="90%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Renomear arquivo:</strong></font></td>
</tr>
</tabela>
<tabela alinhar = centro cellpadding = 5 células espaçamento = 0 largura = "90%">
<form name=dataForm3
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(reques
t.getParameter(" arquivo"))%>&act=renameFileDo" método="post">
<corpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">O arquivo que você deseja renomear</font></strong></font><font color=#000066
face =AsasDings
size=4>3</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))%></tt><
/td>
</tr>
<tr>
<td align=left> <tt>Nome do arquivo renomeado:</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);">Enviar conteúdo</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Voltar ao índice</a>
]
<tipo de entrada = nome oculto = "changeDo" valor = "falso">
</tt> </td>
</tr>
</tbody>
</form>
</tabela>
<%
}else if(strStat.equals("uploadFile")){
%>
<table width="90%" border="0" cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Fazer upload de arquivos:</strong></font></td>
</tr>
</tabela>
<tabela alinhar = centro cellpadding = 5 células espaçamento = 0 largura = "90%">
<form name=dataForm4
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=uploadFileDo" method="post"
ENCTYPE="multipart /dados do formulário">
<corpo>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">O arquivo que você deseja enviar está em</font></strong></font><font color=# 000066
rosto = Asas
size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="- 1">Para baixo
</font></strong></font></td>
</tr>
<tr>
<td align=left> <tt>Selecione o arquivo enviado:</tt>
<INPUT TYPE="FILE" NAME="nomedoarquivo" SIZE="30"></td>
</tr>
<tr>
<td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm4()==false);">Enviar conteúdo</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Voltar ao índice</a>
]
</tt> </td>
</tr>
</tbody>
</form>
</tabela>
<%
}
%>
<br>
<br>
<h>
<TT>©Copyright: Jarard·Ast Versão: Chinês Simplificado 1.00</TT>
<br><TT>Para quaisquer comentários ou sugestões, entre em contato com: <a href=" mailto:[email protected]"><font color=red>[email protected]</font></a></ TT>
</div>
</BODY></HTML>
<LINGUAGEM DO SCRIPT=javascript>
<!--
<%
//Função que exibe diferentes parâmetros de detecção com base em diferentes parâmetros
if(strStat.equals("login")) {%>
formulário de verificação de função()
{
)
)*$/;
{
alert("O nome de login não pode ficar vazio!");
retornar falso;
}
if (Checkblank.test(dataform.userpass.value))
{
alert("A senha não pode estar vazia!");
retornar falso;
}
janela.dataform.submit()
;
<%}else if(strStat.equals("createFold")) {%>
função checkForm()
{
var Checkblank = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataForm.foldName.value))
{
alert("O nome da nova pasta não pode ficar vazio!");
dataForm.foldName.focus();
retornar falso;
}
var SPECIAL_STR = " \/:*? "><|";
for(i=0;i<(dataForm.foldName.value).length;i++)
{
if (SPECIAL_STR.indexOf((dataForm.foldName.value).charAt(i)) !=-1)
{
alert("O nome da pasta não pode conter os seguintes caracteres \/:*? "><|");
dataForm.foldName.focus();
retornar falso;
}
}
window.dataForm.submit();
}
<%}else if(strStat.equals("renameFold")) {%>
função verificarForm2()
{
var Checkblank = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataForm2.newFoldName.value))
{
alert("O nome da pasta renomeada não pode estar vazio!");
dataForm2.newFoldName.focus();
retornar falso;
}
var SPECIAL_STR = " \/:*? "><|";
for(i=0;i<(dataForm2.newFoldName.value).length;i++)
{
if (SPECIAL_STR.indexOf((dataForm2.newFoldName.value).charAt(i)) !=-1)
{
alert("O nome da pasta não pode conter os seguintes caracteres \/:*? "><|");
dataForm2.newFoldName.focus();
retornar falso;
}
}
//Se o nome do arquivo for diferente do nome do arquivo original após a renomeação, marque um parâmetro para indicar que a ação de renomeação realmente ocorreu.
if(dataForm2.newFoldName.value!="<%=UnicodeToChinese(request.getParameter("fold"))%>")
{
window.dataForm2.changeDo.value="true";
}
outro
{
alert("Por favor insira um novo nome para a pasta!");
dataForm2.newFoldName.focus();
retornar falso;
}
janela.dataForm2.submit()
;
<%}else if(strStat.equals("renameFile"))
{%>
função verificarForm3()
{
var Checkblank = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataForm3.newFileName.value))
{
alert("O nome da pasta renomeada não pode estar vazio!");
dataForm3.newFileName.focus();
retornar falso;
}
var SPECIAL_STR = " \/:*? "><|";
for(i=0;i<(dataForm3.newFileName.value).length;i++)
{
if (SPECIAL_STR.indexOf((dataForm3.newFileName.value).charAt(i)) !=-1)
{
alert("O nome do arquivo não pode conter os seguintes caracteres \/:*? "><|");
dataForm3.newFileName.focus();
retornar falso;
}
}
//Se o nome do arquivo for diferente do nome do arquivo original após a renomeação, marque um parâmetro para indicar que a ação de renomeação realmente ocorreu.
if(dataForm3.newFileName.value!="<%=UnicodeToChinese(request.getParameter("arquivo"))%>")
{
window.dataForm3.changeDo.value="true";
}
outro
{
alert("Por favor insira um novo nome de arquivo!");
dataForm3.newFileName.focus();
retornar falso;
}
window.dataForm3.submit();
}
<%}else if(strStat.equals("uploadFile")){%>
função verificarForm4()
{
var Checkblank = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataForm4.fileName.value))
{
alert("O nome da pasta renomeada não pode estar vazio!");
dataForm4.fileName.focus();
retornar falso;
}
window.dataForm4.submit(
)
;
//-->
</SCRIPT>