L’idée de conception derrière le développement de ce fichier est la suivante. Certains sites Web ou clients de logiciels B/S ont souvent des exigences particulières concernant certains détails lors de la phase d'installation et de débogage du logiciel, peut-être des ajustements de police ou de petites modifications de l'interface. Face à une telle situation, si l'utilisateur n'ouvre pas la fonction FTP, le personnel de développement et de maintenance doit souvent se rendre sur le site pour effectuer quelques petits travaux de débogage.
C'est une perte de temps, de main d'œuvre et de ressources matérielles.
Dans de telles circonstances, j'ai développé ce fichier JSP d'une seule page avec des fonctions de gestion de fichiers. Il fournit les fonctions d'ajout, de renommage et de suppression de dossiers ; de modification, de renommage, de suppression et de téléchargement de fichiers. Il peut essentiellement satisfaire les petits travaux de modification lors de la phase d'installation et de débogage du logiciel.
Pour des raisons de sécurité, cette page JSP fournit une fonctionnalité de connexion utilisateur simple.
Avant utilisation, placez ce fichier dans le fichier du site Web ou dans n'importe quel répertoire du produit B/S. Ouvrez les autorisations de lecture et d'écriture pour le répertoire d'installation du fichier. Les utilisateurs peuvent se connecter à distance à la page JSP pour exercer les fonctions de gestion. Une fois la phase d'installation et de maintenance terminée, veuillez modifier les autorisations de lecture et d'écriture du répertoire d'installation du fichier et supprimer le fichier pour éviter les risques de sécurité.
Par défaut, le nom d'utilisateur de connexion est : admin et le mot de passe est : oddworld
development Environment jakarta-tomcat-4.0.3.exe
Remarque : Parce que la fonction de téléchargement de fichiers de ce logiciel doit être prise en charge par le composant smartupload. Veuillez placer smartupload dans le dossier web-inf correspondant de Tomcat. Si les composants que vous prenez en charge le téléchargement sont différents, veuillez effectuer les ajustements vous-même.
Brèves instructions de développement : Parce que ce document n'est pas compliqué et que j'estime que même si la description du document n'est pas standardisée, elle est également détaillée, j'ai donc l'intention d'expliquer seulement brièvement quelques petits détails.
1. Lorsque ce fichier effectue des opérations sur le répertoire de fichiers, le répertoire est passé directement en paramètre sans conversion correspondante. En effet, en Java, les "caractères anglais" peuvent être considérés comme des caractères d'échappement, provoquant des problèmes inattendus lors du traitement des caractères, je pense donc qu'il est plus raisonnable d'utiliser le répertoire directement comme paramètre.
2. Ce document utilise des connexions au lieu de boutons lors de la soumission de certains formulaires. En effet, lorsque JavaScript traite des chaînes avec "", il peut également traiter des caractères d'échappement. Par conséquent, afin d'éviter cette situation, les soumissions qui transmettent des paramètres de répertoire utilisent le. formulaire de connexion.
3. strStat et strErr sont deux chaînes qui s'exécutent dans tout le fichier. La première est une commande de jugement sur les opérations que la page effectuera, et la seconde est une invite d'informations sur les erreurs dans toutes les opérations.
4. Je ne donnerai aucune explication sur les problèmes de sécurité ou autres litiges pouvant découler de ce document. Je fournis simplement ce fichier comme un outil gratuit pour référence et utilisation par tous.
-------------------------------------------------- ---------------
Contenu du fichier admin.jsp
<%-- Système de gestion de fichiers du site Web oddWorld (version chinoise simplifiée) 10 octobre 2003
copier à droite par joard Ast
Fonction admin.jsp : page de gestion de l'arrière-plan des fichiers du site Web.
--%>
<%@ 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.*" %>
<% //Conversion des caractères chinois%>
<% !
Chaîne statique publique UnicodeToChinese(String s){
essayer{
if(s==null||s.equals("")) return "";
Chaîne nouvellechaîne=null ;
newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
renvoie une nouvelle chaîne ;
}
catch (UnsupportedEncodingException e)
{
retourner s ;
}
}
chaîne statique publique ChineseToUnicode (String s) {
essayer{
if(s==null||s.equals("")) return "";
Chaîne nouvellechaîne=null ;
newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
renvoie une nouvelle chaîne ;
}
catch (UnsupportedEncodingException e)
{
retourner s ;
}
}
%>
<%
//problème d'actualisation
réponse.setHeader("Pragma","Pas de cache");
réponse.setHeader("Cache-Control","no-cache");
réponse.setDateHeader("Expire", 0);
//Personnaliser le mot de passe et le nom d'utilisateur pour la connexion
//Corriger le nom d'utilisateur
Chaîne nom d'utilisateur="admin"
//Mot de passe correct
String userpass="oddworld";
//Obtenir le chemin du système
ServletContext app=(ServletContext)pageContext.getServletContext();
String strSysPath = app.getRealPath("/");
//Traitement du chemin physique de l'objet
String strDealPath="" ;
//Afficher le message d'erreur
Chaîne strErr="";
//Représente l'état d'affichage de la page, login consiste à afficher la page de connexion ; show consiste à afficher les informations sur le fichier normalement ; edit est à afficher la page d'édition des fichiers
; page de création de dossiers ; createFDo est l'opération de création d'un dossier ; renameFold est la page qui affiche le nom
du
dossier ; renameFoldDo est l'opération de changement du nom du dossier ; delFoldDo est l'opération de suppression du dossier ; page qui affiche le nom du fichier ; renameFileDo est l'opération de changement du nom du fichier;
delFileDo est l'opération de suppression de fichiers ; uploadFile est la page qui affiche les fichiers téléchargés ;
String strStat="login";
//Tableau utilisé pour afficher les fichiers en état d'affichage
File[] fileArr=null;
//Obtient le chemin physique de l'objet à traiter en fonction du paramètre de chemin transmis
if (request.getParameter("path")==null || request.getParameter("path").equals("")){
strDealPath=strSysPath ;
}autre{
//Obtenir les paramètres du chemin
strDealPath=UnicodeToChinese(request.getParameter("chemin"));
}
//Vérifie si la valeur de session existe, sinon affiche un message d'erreur
//HttpSession session = request.getSession(false);
if (session.getValue("loginIn")==null || !session.getValue("loginIn").equals("pass"))
{
strStat="connexion";
strErr="Vous n'êtes pas connecté ou votre connexion a expiré, veuillez vous reconnecter !";
}
//Créez un objet fichier et vérifiez si le répertoire existe
File myFile=new File(strDealPath);
//Vérifie si le dossier existe
si(!monFichier.exists()){
strErr="Le dossier que vous avez sélectionné n'existe pas, veuillez le sélectionner à nouveau !";
}
//Selon différents paramètres, effectuer les opérations correspondantes
if(request.getParameter("act")==null || request.getParameter("act").equals("") ||
request.getParameter("act").equals("login"))
{
if(request.getParameter("username")!=null && request.getParameter("userpass")!=null)
{
//Corriger le mot de passe crypté MD5
//Chaîne userpass="OEEO99107DC8C1EE2E06666B965601EF";
if(request.getParameter("username").equals(username) && (request.getParameter("userpass")).equals(userpass))
{
session.putValue("loginIn","pass");
réponse.sendRedirect(request.getRequestURI()+"?act=show");
}
}
autre {
strStat="connexion";
strErr="Vous n'êtes pas connecté ou votre connexion a expiré, veuillez vous reconnecter !";
}
}else if(request.getParameter("act").equals("show")){
//Par défaut, la page affiche normalement les informations sur le fichier statStat="show"
strStat="afficher";
//Créer un tableau de liste de fichiers
fileArr=monFichier.listFiles();
}else if(request.getParameter("act").equals("edit"))
{
//Page de modification du contenu du fichier
//Selon s'il existe request.getParameter("file") et si le fichier correspondant existe. Si oui, effectuez l'opération d'édition. Sinon, affichez un message d'erreur.
if (!(request.getParameter("file")==null || request.getParameter("file").equals(""))){
Fichier fileEdit=new
File(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
si(fileEdit.exists())
// L'opération d'édition de fichier consiste en fait à modifier l'affichage de la page et à utiliser une zone de texte pour afficher les informations du fichier à éditer.
strStat="modifier";
autre
//Afficher le message d'erreur
strErr="Le fichier que vous avez sélectionné n'existe pas, veuillez le sélectionner à nouveau !";
}autre{
strErr="Vous n'avez pas sélectionné le fichier à modifier, veuillez le sélectionner à nouveau !";
}
}else if(request.getParameter("act").equals("editDo"))
{
//Écrit le contenu modifié dans le fichier et retourne à la page de modification
if (!(request.getParameter("file")==null || request.getParameter("file").equals("")))
{
Fichier fileEdit=new
File(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")));
si(fileEdit.exists())
{
//L'opération d'édition de fichier consiste en fait à utiliser une zone de texte pour afficher le contenu du fichier sur la page après avoir modifié le contenu du fichier, et continuer à éditer ou
à visualiser l'effet de la modification.
if(!(request.getParameter("fileData")==null))
{
essayer{
PrintWriter pwEdit =null;
pwEdit=new PrintWriter(new
FileOutputStream(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))));
pwEdit.println(UnicodeToChinese(request.getParameter("fileData")));
pwEdit.close();
réponse.sendRedirect(request.getRequestURI()+"?path="+
UnicodeToChinese(request.getParameter("path")) +"&file="+ UnicodeToChinese(request.getParameter("file")) +"&act=edit" );
retour;
}attraper(Exception e){
strErr="Erreur d'écriture du fichier, veuillez sélectionner à nouveau !";
}
}autre{
strErr="Le paramètre permettant de modifier le contenu du fichier est manquant, veuillez le sélectionner à nouveau !";
}
}autre
//Afficher le message d'erreur
strErr="Le fichier que vous avez sélectionné n'existe pas, veuillez le sélectionner à nouveau !";
}autre{
strErr="Vous n'avez pas sélectionné le fichier à modifier, veuillez le sélectionner à nouveau !";
}
}else if(request.getParameter("act").equals("createF"))
{
//Affiche la page pour créer un nouveau dossier
strStat="créerF";
}else if(request.getParameter("act").equals("createFDo"))
{
//Créer un nouveau dossier
String strFoldName=strDealPath+UnicodeToChinese(request.getParameter("foldName")).trim()+"\"
//out.println(strFoldName);
//out.close();
Fichier fileCreateF=new File(strFoldName);
si(!fileCreateF.exists())
{
essayer{
fileCreateF.mkdir();
réponse.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retour;
}attraper(Exception e){
strErr="Échec de la création d'un nouveau dossier !";
}
}
autre
{
strErr="Le nom du dossier spécifié est le même que le nom du dossier existant, veuillez spécifier un nouveau nom de dossier !";
}
}else if(request.getParameter("act").equals("delFoldDo"))
{
//Opération de suppression
essayer{
String strFileDelF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
Fichier fileDelF=nouveau fichier(strFileDelF);
si(fileDelF.exists()){
File[] fileArrCheck=fileDelF.listFiles();
si(!(fileArrCheck.length>0))
{
fileDelF.delete();
réponse.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retour;
}autre
{
strErr="Le dossier contient encore des fichiers, veuillez supprimer tous les fichiers puis supprimer le dossier";
}
}autre{
strErr="Le dossier à supprimer n'existe pas, veuillez le sélectionner à nouveau";
}
}attraper(Exception e)
{
strErr="Erreur lors de l'opération de suppression du dossier !";
}
}else if(request.getParameter("act").equals("renameFold"))
{
strStat="renameFold";
}else if(request.getParameter("act").equals("renameFoldDo"))
{
//Opération de renommage du dossier
// Détermine s'il y a une modification du nom du dossier en fonction des paramètres
if(request.getParameter("changeDo").equals("true"))
{
//Il existe un nom de fichier et le changement de nom se produit
essayer{
String strFileRenameF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\";
Fichier fileRenameF=nouveau fichier(strFileRenameF);
String strFileRenameToF=strDealPath+UnicodeToChinese(request.getParameter("newFoldName"))+"\";
Fichier fileRenameToF=nouveau fichier(strFileRenameToF);
//Détermine si le dossier renommé existe
if(fileRenameF.exists()){
// Détermine si le nouveau nom du dossier a le même nom que le dossier existant
si(!fileRenameToF.exists())
{
fileRenameF.renameTo(fileRenameToF);
réponse.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retour;
}autre
{
strErr="Le nom du dossier spécifié est le même que le nom du dossier existant, veuillez spécifier un nouveau nom de dossier !";
}
}autre{
strErr="Le dossier à renommer n'existe pas, veuillez le sélectionner à nouveau";
}
}attraper(Exception e)
{
strErr="Erreur lors de l'opération de renommage du dossier !";
}
}
}else if(request.getParameter("act").equals("renameFile"))
{
strStat="renommerFichier";
}else if(request.getParameter("act").equals("renameFileDo"))
{
//Opération de renommage de fichier
// Détermine s'il y a un changement dans le nom du fichier en fonction des paramètres
if(request.getParameter("changeDo").equals("true"))
{
//Il existe un nom de fichier et le changement de nom se produit
essayer{
String strFileRenameFi=strDealPath+UnicodeToChinese(request.getParameter("file"));
Fichier fileRenameFi=nouveau fichier(strFileRenameFi);
String strFileRenameToFi=strDealPath+UnicodeToChinese(request.getParameter("newFileName"));
Fichier fileRenameToFi=nouveau fichier(strFileRenameToFi);
//Détermine si le fichier renommé existe
si(fileRenameFi.exists()){
//Détermine si le nouveau nom de fichier a le même nom que le fichier existant
si(!fileRenameToFi.exists())
{
fileRenameFi.renameTo(fileRenameToFi);
réponse.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retour;
}autre
{
strErr="Le nom de fichier spécifié est le même que le nom de fichier existant, veuillez spécifier un nouveau nom de fichier !";
}
}autre{
strErr="Le fichier à renommer n'existe pas, veuillez le sélectionner à nouveau";
}
}attraper(Exception e)
{
strErr="Erreur d'opération de renommage de fichier !";
}
}
}else if(request.getParameter("act").equals("delFileDo"))
{
//Opération de suppression
essayer{
String strFileDelFi=strDealPath+UnicodeToChinese(request.getParameter("file"));
Fichier fileDelFi=nouveau fichier(strFileDelFi);
si(fileDelFi.exists())
{
fileDelFi.delete();
réponse.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retour;
}autre{
strErr="Le fichier à supprimer n'existe pas, veuillez le sélectionner à nouveau";
}
}attraper(Exception e)
{
strErr="Erreur d'opération de suppression de fichier !";
}
}else if(request.getParameter("act").equals("uploadFile"))
{
strStat="uploadFile";
}else if(request.getParameter("act").equals("uploadFileDo"))
{
%>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
//Opération de téléchargement de fichier
monSmartUpload.initialize(pageContext);
mySmartUpload.setTotalMaxFileSize(1000000);
essayez {
monSmartUpload.upload();
monSmartUpload.save(strDealPath);
réponse.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show");
retour;
} attraper (Exception e) {
strErr="Erreur de téléchargement de fichier, veuillez vérifier si la limite de taille de fichier de 1 Mo est dépassée!";
}
}
%>
<%
out.println(strStat);
%>
<HTML><HEAD><TITLE>Liste des répertoires pour /</TITLE>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" nom=GÉNÉRATEUR></HEAD>
<CORPS bgColor=blanc>
<div align="centre">
<table border=0 cellpadding=5 cellpacing=0 width="90%">
<corps>
<tr>
<td align=left bgcolor=#000066 valign=bottom><font color=#ffffff face=宋体
size=4 Roman ? Nouveau ,?times><b> Gestionnaire de fichiers de site Web</b></font></td>
<td align=right bgcolor=#000066 valign=bottom><font color=#ffffff face=宋体
size=4 Romain ? Nouveau ,?times><b> <strong><%=request.getContextPath()%></strong></b></font></td>
</tr>
</tbody>
</table>
<table width="90%" border="0" Cellpacing="0" cellpadding="5">
<tr>
<td><font size="2"><b>Chemin physique :</b><%=strDealPath%></font></td>
</tr>
</table>
<br>
<% if (strStat.equals("login")){%>
<table width="300" border="0" cellpacing="1" cellpadding="0" >
<tr>
<td height="200" valign="top" align="center">
<p align="center">
<table width="100%" border="0" cellpacing="1" cellpadding="5" bgcolor=#999999 class=a9px>
<tr>
<td bgcolor="#cccccc"><font size=+2>Connexion</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">Nom de connexion : </font></b></td>
<td>
<longueur maximale d'entrée = 16
nom="nom d'utilisateur" valeur="">
</td>
</tr>
<tr>
<td width="100"><b><font size="-1">Mot de passe :</font></b></td>
<td>
<classe d'entrée = stedit longueur maximale = 16
nom="passe utilisateur" valeur="">
</td>
</tr>
</form>
</table>
<br>
<table border=0 cellpadding=0 cellpacing=0>
<corps>
<tr>
<td>
<input name=update onClick="javascript:if (checkform()==false);" type=button value="Connexion">
</td>
<td> </td>
<td> </td>
</tr>
</tbody>
</table>
<br>
</td>
</tr>
</table>
</td>
</tr>
</table>
<% //Affichage du message d'erreur
}sinon si(strErr!=""){
%>
<table width="90%" border="0" Cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Erreur de fonctionnement</strong></font></td>
</tr>
</table>
<table align=center cellpadding=5 cellpacing=0 width="90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques
t.getParameter(" fold"))%>&act=renameFoldDo" method="post">
<corps>
<tr bgcolor=#cccccc>
<td align=left bgcolor="#cccccc"><strong><font size="-1">Raison de l'erreur : </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);">Opération de retour</a> ]</TT> <tt >[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Retour au répertoire</a>
]<input type=hidden name="changeDo" value="false"></tt> </td>
</tr>
</tbody>
</form>
</table>
<%
}sinon if(strStat.equals("show")){
//Affiche la page normalement
%>
<table width="90%" border="0" Cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Liste des répertoires :</strong></font></td>
</tr>
</table>
<table align=center cellpadding=5 cellpacing=0 width="90%">
<corps>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Nom</font></strong></font><TT> (cliquez pour entrer dans le répertoire correspondant)< /font> TT></td>
<td align=center><font size=+1><strong><font size="-1">Heure de modification</font></strong></font></td>
<td align=center><b><font size="-1">Renommer</font></b></td>
<td align=center><b><font size="-1">Supprimer</font></b></td>
</tr>
<%
//Affiche la couleur initiale des lignes du tableau
Chaîne bgColor="";
//S'il ne s'agit pas du répertoire racine, affiche un lien vers le répertoire supérieur
if(!(strDealPath.equals(strSysPath))){%>
<tr bgcolor=<%=bgColor%>>
<td align=left > <tt><font color=#000066 face=WingDings
size=4>0</font>
<a title="Cliquez pour accéder au répertoire supérieur" href="<%=request.getRequestURI()%>
?path=<%=(myFile.getParent())+" "%>&act=show ">Répertoire supérieur</a></tt></td>
<td align=right> </td>
<td align=center> </td>
<td align=center> </td>
</tr>
<%}
pour(int i=0; i<fileArr.length; i++){
//S'il s'agit d'un dossier, affichez-le
si(fileArr[i].isDirectory()){
//Conversion entrelacée de couleurs
bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee";
%>
<tr bgcolor=<%=bgColor%>>
<td align=left > <tt><FONT color=#000066 face=WingDings
size=4>0</FONT>
<a title="Cliquez pour accéder au répertoire correspondant" href="<%=request.getRequestURI()%>
?path=<%=strDealPath+fileArr[i].getName() +" \"%>&act=show"><%=fileArr[i].getName()%></a>
</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">Renommer</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('Voulez-vous vraiment supprimer ce dossier, tout le contenu ne sera plus disponible ?
' )){ window.dataFormFold<%=i%>.submit();}">Supprimer</a></TT></td></form>
</tr>
<%}
} %>
<tr align="centre">
<td bgcolor=#cccccc colspan=4><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=createF">Nouveau dossier
</a>
]</TT></td>
</tr>
</tbody>
</table>
<table width="90%" border="0" Cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Liste des fichiers :</strong></font></td>
</tr>
</table>
<TABLE align=center cellPadding=5 cellSpacing=0 width="90%">
<CORPS>
<TR bgColor=#cccccc>
<TD align=left><FONT size=+1><STRONG><font size="-1">Nom</font></STRONG></FONT><TT> (Cliquez pour modifier le fichier correspondant)< /TT></TD>
<TD align=center><FONT size=+1><strong><font size="-1">taille</font></strong></FONT></TD>
<TD align=center><FONT size=+1><STRONG><font size="-1">Heure de modification</font></STRONG></FONT></TD>
<TD align=center><b><font size="-1">Renommer</font></b></TD>
<TD align=center><b><font size="-1">Supprimer</font></b></TD>
</TR>
<%
bgColor="#eeeeee";
si(fileArr.length!=0){
pour(int i=0; i<fileArr.length; i++){
//S'il s'agit d'un fichier, affichez-le
si(fileArr[i].isFile()){
bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee";
%>
<TR bgColor=<%=bgColor%>>
<TD align=left > <TT><FONT color=#000066 face=WingDings
size=4>3</FONT>
<a title="Cliquez pour modifier le fichier correspondant" href="<%=request.getRequestURI()%>
?path=<%=strDealPath%>&file=<%=fileArr[ je].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">Renommer</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('Voulez-vous vraiment supprimer ce fichier ? Le contenu ne sera plus disponible ?
') ){window.dataFormFile <%=i%>.submit();}">Supprimer</a></TT></TD></form>
</TR>
<%}
}
}autre {%>
<TR>
<TD align=left > <TT>Aucun fichier</TT></TD>
<TD align=right> </TD>
<TD align=right> </TD>
<TD align=center> </TD>
<TD align=center> </TD>
</TR>
<%}%>
<TR align="centre">
<TD bgColor=#cccccc colSpan=5><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=uploadFile">Télécharger
le fichier
</a> ]</TT></TD>
</TR>
</TBODY>
</TABLE>
<%
// L'état d'affichage normal se termine
}sinon if(strStat.equals("edit")){
// Statut d'édition du fichier
BufferedReader bufReadIn=new BufferedReader(new
FileReader(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))));
Chaîne strContext="";
Chaîne strReadLine="";
%>
<table width="90%" border="0" Cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Modifier le fichier :</strong></font></td>
</tr>
</table>
<table align=center cellpadding=5 cellpacing=0 width="90%">
<form name=dataForm
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(reques
t.getParameter(" file"))%>&act=editDo" method="post">
<corps>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Nom du fichier</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();">Soumettre le contenu</a> ]</TT> <TT>[ <a
href="<%=request. getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Retour au répertoire</a> ]</TT>
</td>
</tr>
</tbody>
</form>
</table>
<%
}sinon if(strStat.equals("createF")){
%>
<table width="90%" border="0" Cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Créer un dossier :</strong></font></td>
</tr>
</table>
<table align=center cellpadding=5 cellpacing=0 width="90%">
<form name=dataForm
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=createFDo" method="post">
<corps>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Le dossier que vous souhaitez créer se trouve dans</font></strong></font><font color=# 000066
visage=AilesDings
size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="- 1">Bas
</font></strong></font></td>
</tr>
<tr>
<td align=gauche>
<TT>Nouveau nom de dossier :</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);">Soumettre le contenu</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Retour à la table des matières</a>
]</tt> </td>
</tr>
</tbody>
</form>
</table>
<%
}sinon if(strStat.equals("renameFold"))
{ %>
<table width="90%" border="0" Cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Renommer le dossier :</strong></font></td>
</tr>
</table>
<table align=center cellpadding=5 cellpacing=0 width="90%">
<form name=dataForm2
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques
t.getParameter(" fold"))%>&act=renameFoldDo" method="post">
<corps>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Le dossier que vous souhaitez renommer</font></strong></font><font color=#000066
face =AilesDings
size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("fold"))+" \")% ><
/tt ></td>
</tr>
<tr>
<td align=left> <tt>Nom du dossier renommé :</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);">Soumettre le contenu</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Retour à la table des matières</a>
]<input type=hidden name="changeDo" value="false"></tt> </td>
</tr>
</tbody>
</form>
</table>
<%
}sinon if(strStat.equals("renameFile"))
{%>
<table width="90%" border="0" Cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Renommer le fichier :</strong></font></td>
</tr>
</table>
<table align=center cellpadding=5 cellpacing=0 width="90%">
<form name=dataForm3
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(reques
t.getParameter(" file"))%>&act=renameFileDo" method="post">
<corps>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Le fichier que vous souhaitez renommer</font></strong></font><font color=#000066
face =AilesDings
size=4>3</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))%></tt><
/td>
</tr>
<tr>
<td align=left> <tt>Nom du fichier renommé :</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);">Soumettre le contenu</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Retour à la table des matières</a>
]
<input type=hidden name="changeDo" value="false">
</tt> </td>
</tr>
</tbody>
</form>
</table>
<%
}else if(strStat.equals("uploadFile")){
%>
<table width="90%" border="0" Cellpacing="0" cellpadding="5">
<tr>
<td><font size=+2><strong>Télécharger des fichiers :</strong></font></td>
</tr>
</table>
<table align=center cellpadding=5 cellpacing=0 width="90%">
<form name=dataForm4
action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=uploadFileDo" method="post"
ENCTYPE="multipart /form-data">
<corps>
<tr bgcolor=#cccccc>
<td align=left><font size=+1><strong><font size="-1">Le fichier que vous souhaitez télécharger se trouve à l'adresse</font></strong></font><font color=# 000066
visage = WingDings
size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="- 1">Bas
</font></strong></font></td>
</tr>
<tr>
<td align=left> <tt>Sélectionnez le fichier téléchargé :</tt>
<INPUT TYPE="FILE" NAME="fileName" SIZE="30"></td>
</tr>
<tr>
<td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm4()==false);">Soumettre le contenu</a>
]</tt> <tt>[
<a href="<%=request.getRequestURI()%>
?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">Retour à la table des matières</a>
]
</tt> </td>
</tr>
</tbody>
</form>
</table>
<%
}
%>
<br>
<br>
<hr>
<TT>©right;Copyright : Jarard·Ast Version : Chinois simplifié 1.00</TT>
<br><TT>Pour tout commentaire ou suggestion, veuillez contacter : <a href=" mailto:[email protected]"><font color=red>[email protected]</font></a></ TT>
</div>
</BODY></HTML>
<LANGUE DU SCRIPT=javascript>
<!--
<%
//Fonction qui affiche différents paramètres de détection en fonction de différents paramètres
if(strStat.equals("login")) {%>
formulaire de contrôle de fonction()
{
var Checkblank = /^(s*|( )|(.))*$/;
if (Checkblank.test(dataform.username.value))
{
alert("Le nom de connexion ne peut pas être vide!");
renvoie faux ;
}
si (Checkblank.test(dataform.userpass.value))
{
alert("Le mot de passe ne peut pas être vide !");
renvoie faux ;
}
window.dataform.submit()
;
<%}else if(strStat.equals("createFold")) {%>
fonction checkForm()
{
var Checkblank = /^(s*|( )|(.))*$/;
si (Checkblank.test(dataForm.foldName.value))
{
alert("Le nom du nouveau dossier ne peut pas être vide !");
dataForm.foldName.focus();
renvoie faux ;
}
var SPECIAL_STR = " \/:*? "><|";
pour(i=0;i<(dataForm.foldName.value).length;i++)
{
if (SPECIAL_STR.indexOf((dataForm.foldName.value).charAt(i)) !=-1)
{
alert("Le nom du dossier ne peut pas contenir les caractères suivants \/:*? "><|");
dataForm.foldName.focus();
renvoie faux ;
}
}
window.dataForm.submit();
}
<%}else if(strStat.equals("renameFold")) {%>
fonction checkForm2()
{
var Checkblank = /^(s*|( )|(.))*$/;
si (Checkblank.test(dataForm2.newFoldName.value))
{
alert("Le nom du dossier renommé ne peut pas être vide!");
dataForm2.newFoldName.focus();
renvoie faux ;
}
var SPECIAL_STR = " \/:*? "><|";
pour(i=0;i<(dataForm2.newFoldName.value).length;i++)
{
if (SPECIAL_STR.indexOf((dataForm2.newFoldName.value).charAt(i)) !=-1)
{
alert("Le nom du dossier ne peut pas contenir les caractères suivants \/:*? "><|");
dataForm2.newFoldName.focus();
renvoie faux ;
}
}
//Si le nom du fichier est différent du nom de fichier d'origine après le changement de nom, marquez un paramètre pour indiquer que l'action de renommage a bien eu lieu.
if(dataForm2.newFoldName.value!="<%=UnicodeToChinese(request.getParameter("fold"))%>")
{
window.dataForm2.changeDo.value="true";
}
autre
{
alert("Veuillez entrer un nouveau nom de dossier !");
dataForm2.newFoldName.focus();
renvoie faux ;
}
window.dataForm2.submit()
;
<%}sinon if(strStat.equals("renameFile"))
{%>
fonction checkForm3()
{
var Checkblank = /^(s*|( )|(.))*$/;
si (Checkblank.test(dataForm3.newFileName.value))
{
alert("Le nom du dossier renommé ne peut pas être vide!");
dataForm3.newFileName.focus();
renvoie faux ;
}
var SPECIAL_STR = " \/:*? "><|";
pour(i=0;i<(dataForm3.newFileName.value).length;i++)
{
if (SPECIAL_STR.indexOf((dataForm3.newFileName.value).charAt(i)) !=-1)
{
alert("Le nom du fichier ne peut pas contenir les caractères suivants \/:*? "><|");
dataForm3.newFileName.focus();
renvoie faux ;
}
}
//Si le nom du fichier est différent du nom de fichier d'origine après le changement de nom, marquez un paramètre pour indiquer que l'action de renommage a bien eu lieu.
if(dataForm3.newFileName.value!="<%=UnicodeToChinese(request.getParameter("file"))%>")
{
window.dataForm3.changeDo.value="true";
}
autre
{
alert("Veuillez entrer un nouveau nom de fichier!");
dataForm3.newFileName.focus();
renvoie faux ;
}
window.dataForm3.submit();
}
<%}else if(strStat.equals("uploadFile")){%>
fonction checkForm4()
{
var Checkblank = /^(s*|( )|(.))*$/;
si (Checkblank.test(dataForm4.fileName.value))
{
alert("Le nom du dossier renommé ne peut pas être vide!");
dataForm4.fileName.focus();
renvoie faux ;
}
window.dataForm4.submit();
}
<%}%>
//-->
</SCRIPT>