__fingerprint.java
来自「《J2EE企业级应用开发》一书的配套源代码」· Java 代码 · 共 353 行 · 第 1/2 页
JAVA
353 行
/** print out the jar versions for a classpath-like system property */ //[ /fingerprint.jsp; Line: 141] public void listClasspathProperty(String title, JspWriter out,String key, String comment) throws IOException { //[ /fingerprint.jsp; Line: 142] listVersions(title, out,scanClasspath(System.getProperty(key)), comment); //[ /fingerprint.jsp; Line: 143] } //[ /fingerprint.jsp; Line: 144] //[ /fingerprint.jsp; Line: 145] /** print out the jar versions for a 'java.ext.dirs'-like system property */ //[ /fingerprint.jsp; Line: 146] public void listDirpathProperty(String title, JspWriter out,String key, String comment) throws IOException { //[ /fingerprint.jsp; Line: 147] listVersions(title, out,scanDirpath(System.getProperty(key)), comment); //[ /fingerprint.jsp; Line: 148] } //[ /fingerprint.jsp; Line: 149] //[ /fingerprint.jsp; Line: 150] /** print out the jar versions for a context-relative directory */ //[ /fingerprint.jsp; Line: 151] public void listContextPath(String title, JspWriter out, String path, String comment) throws IOException { //[ /fingerprint.jsp; Line: 152] listVersions(title, out,scanDir(this.getServletConfig().getServletContext().getRealPath(path)), comment); //[ /fingerprint.jsp; Line: 153] } //[ /fingerprint.jsp; Line: 154] //[ /fingerprint.jsp; Line: 155] /** print out the jar versions for a given list of files */ //[ /fingerprint.jsp; Line: 156] public void listVersions(String title, JspWriter out,File[] jars, String comment) throws IOException { //[ /fingerprint.jsp; Line: 157] out.print("<h2>"); //[ /fingerprint.jsp; Line: 158] out.print(title); //[ /fingerprint.jsp; Line: 159] out.println("</h2>"); //[ /fingerprint.jsp; Line: 160] out.println("<table>"); //[ /fingerprint.jsp; Line: 161] for (int i=0; i<jars.length; i++) { //[ /fingerprint.jsp; Line: 162] out.println("<tr>"+getFileVersion(jars[i])+"</tr>"); //[ /fingerprint.jsp; Line: 163] } //[ /fingerprint.jsp; Line: 164] out.println("</table>"); //[ /fingerprint.jsp; Line: 165] if(comment!=null && comment.length()>0) { //[ /fingerprint.jsp; Line: 166] out.println("<p>"); //[ /fingerprint.jsp; Line: 167] out.println(comment); //[ /fingerprint.jsp; Line: 168] out.println("<p>"); //[ /fingerprint.jsp; Line: 169] } //[ /fingerprint.jsp; Line: 170] } //[ /fingerprint.jsp; Line: 171] //[ /fingerprint.jsp; Line: 172] //[ /fingerprint.jsp; Line: 173] // StaleIndicator interface public boolean _isStale() { weblogic.servlet.jsp.StaleChecker sci =(weblogic.servlet.jsp.StaleChecker)(getServletConfig().getServletContext()); java.io.File f = null; long lastModWhenBuilt = 0L; if (sci.isResourceStale("/fingerprint.jsp", 1037154019000L, "7.0.1.0")) return true; return false; } public static boolean _staticIsStale(weblogic.servlet.jsp.StaleChecker sci) { java.io.File f = null; long lastModWhenBuilt = 0L; if (sci.isResourceStale("/fingerprint.jsp", 1037154019000L, "7.0.1.0")) return true; return false; }
public void _jspService(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException
{
// declare and set well-known variables:
javax.servlet.ServletConfig config = getServletConfig();
javax.servlet.ServletContext application = config.getServletContext();
javax.servlet.jsp.tagext.Tag _activeTag = null;
// variables for Tag extension protocol
Object page = this;
javax.servlet.jsp.JspWriter out;
javax.servlet.jsp.PageContext pageContext = javax.servlet.jsp.JspFactory.getDefaultFactory().getPageContext(this, request, response, null, false, 8192, true);
out = pageContext.getOut(); JspWriter _originalOut = out;
// *NO* HttpSession: page has session="false" directive.
try { // error page try block out.print("\n<html>\n<head>\n<title>System Fingerprint</title>\n</head>\n<body bgcolor=#ffffff>\n"); out.print("\n<h1>System Fingerprint</h1>\n<h2>JVM and Server Version</h2>\n<table>\n<tr>\n <td>Servlet Engine</td>\n <td>"); out.print(String.valueOf( this.getServletConfig().getServletContext().getServerInfo() )); //[ /fingerprint.jsp; Line: 179] out.print("</td>\n <td>"); out.print(String.valueOf( this.getServletConfig().getServletContext().getMajorVersion() )); //[ /fingerprint.jsp; Line: 180] out.print("</td>\n <td>"); out.print(String.valueOf( this.getServletConfig().getServletContext().getMinorVersion() )); //[ /fingerprint.jsp; Line: 181] out.print("</td>\n</tr>\n<tr>\n <td>Java VM</td>\n <td>"); out.print(String.valueOf( System.getProperty("java.vm.vendor") )); //[ /fingerprint.jsp; Line: 185] out.print("</td>\n <td>"); out.print(String.valueOf( System.getProperty("java.vm.name") )); //[ /fingerprint.jsp; Line: 186] out.print("</td>\n <td>"); out.print(String.valueOf( System.getProperty("java.vm.version") )); //[ /fingerprint.jsp; Line: 187] out.print("</td>\n</tr>\n<tr>\n <td>Java RE</td>\n <td>"); out.print(String.valueOf( System.getProperty("java.vendor") )); //[ /fingerprint.jsp; Line: 191] out.print("</td>\n <td>"); out.print(String.valueOf( System.getProperty("java.version") )); //[ /fingerprint.jsp; Line: 192] out.print("</td>\n <td> </td>\n</tr>\n<tr>\n <td>Platform</td>\n <td>"); out.print(String.valueOf( System.getProperty("os.name") )); //[ /fingerprint.jsp; Line: 197] out.print("</td>\n <td>"); out.print(String.valueOf( System.getProperty("os.arch") )); //[ /fingerprint.jsp; Line: 198] out.print("</td>\n <td>"); out.print(String.valueOf( System.getProperty("os.version") )); //[ /fingerprint.jsp; Line: 199] out.print("</td>\n</tr>\n</table>\n\n"); //[ /fingerprint.jsp; Line: 203] listClasspathProperty("Boot jars", out,"sun.boot.class.path", "Only valid on a sun jvm"); //[ /fingerprint.jsp; Line: 204] listClasspathProperty("System jars", out,"java.class.path", null); //[ /fingerprint.jsp; Line: 205] listDirpathProperty("Extra system jars", out,"java.ext.dirs", null); //[ /fingerprint.jsp; Line: 206] listContextPath("Webapp jars", out, "/WEB-INF/lib", null); //[ /fingerprint.jsp; Line: 207] // identify the container... //[ /fingerprint.jsp; Line: 208] String container=this.getServletConfig().getServletContext().getServerInfo(); //[ /fingerprint.jsp; Line: 209] if (container.startsWith("Tomcat Web Server/3.2")) { //[ /fingerprint.jsp; Line: 210] String home=System.getProperty("tomcat.home"); //[ /fingerprint.jsp; Line: 211] if(home!=null) { //[ /fingerprint.jsp; Line: 212] listDirectory("Tomcat 3.2 Common Jars", out, //[ /fingerprint.jsp; Line: 213] home+File.separator //[ /fingerprint.jsp; Line: 214] +"lib", //[ /fingerprint.jsp; Line: 215] null); //[ /fingerprint.jsp; Line: 216] } //[ /fingerprint.jsp; Line: 217] } else if (container.startsWith("Tomcat Web Server/3.3")) { //[ /fingerprint.jsp; Line: 218] String home=System.getProperty("tomcat.home"); //[ /fingerprint.jsp; Line: 219] if(home!=null) { //[ /fingerprint.jsp; Line: 220] listDirectory("Tomcat 3.3 Container Jars", out, //[ /fingerprint.jsp; Line: 221] home+File.separator //[ /fingerprint.jsp; Line: 222] +"lib"+File.separator //[ /fingerprint.jsp; Line: 223] +"container", //[ /fingerprint.jsp; Line: 224] null); //[ /fingerprint.jsp; Line: 225] listDirectory("Tomcat 3.3 Common Jars", out, //[ /fingerprint.jsp; Line: 226] home+File.separator //[ /fingerprint.jsp; Line: 227] +"lib"+File.separator //[ /fingerprint.jsp; Line: 228] +"common", //[ /fingerprint.jsp; Line: 229] null); //[ /fingerprint.jsp; Line: 230] } //[ /fingerprint.jsp; Line: 231] } else if (container.startsWith("Apache Tomcat/4.0")) { //[ /fingerprint.jsp; Line: 232] //handle catalina common dir //[ /fingerprint.jsp; Line: 233] String home=System.getProperty("catalina.home"); //[ /fingerprint.jsp; Line: 234] if(home!=null) { //[ /fingerprint.jsp; Line: 235] listDirectory("Tomcat 4.0 Common Jars", out, //[ /fingerprint.jsp; Line: 236] home+File.separator //[ /fingerprint.jsp; Line: 237] +"common"+File.separator //[ /fingerprint.jsp; Line: 238] +"lib", //[ /fingerprint.jsp; Line: 239] null); //[ /fingerprint.jsp; Line: 240] } //[ /fingerprint.jsp; Line: 241] } else if (container.startsWith("Apache Tomcat/4.1")) { //[ /fingerprint.jsp; Line: 242] //handle catalina common dir //[ /fingerprint.jsp; Line: 243] String home=System.getProperty("catalina.home"); //[ /fingerprint.jsp; Line: 244] if(home!=null) { //[ /fingerprint.jsp; Line: 245] listDirectory("Tomcat 4.1 Common Jars", out, //[ /fingerprint.jsp; Line: 246] home+File.separator //[ /fingerprint.jsp; Line: 247] +"shared"+File.separator //[ /fingerprint.jsp; Line: 248] +"lib", //[ /fingerprint.jsp; Line: 249] null); //[ /fingerprint.jsp; Line: 250] } //[ /fingerprint.jsp; Line: 251] } else if (System.getProperty("resin.home")!=null) { //[ /fingerprint.jsp; Line: 252] String home=System.getProperty("resin.home"); //[ /fingerprint.jsp; Line: 253] if(home!=null) { //[ /fingerprint.jsp; Line: 254] listDirectory("Resin Common Jars", out, //[ /fingerprint.jsp; Line: 255] home+File.separator //[ /fingerprint.jsp; Line: 256] +"lib", //[ /fingerprint.jsp; Line: 257] null); //[ /fingerprint.jsp; Line: 258] } //[ /fingerprint.jsp; Line: 259] } else if (System.getProperty("weblogic.httpd.servlet.classpath")!=null) { //[ /fingerprint.jsp; Line: 260] listClasspathProperty("Weblogic Servlet Jars", out, //[ /fingerprint.jsp; Line: 261] "weblogic.httpd.servlet.classpath", //[ /fingerprint.jsp; Line: 262] null); //[ /fingerprint.jsp; Line: 263] } else { //[ /fingerprint.jsp; Line: 264] //TODO: identify more servlet engine classpaths. //[ /fingerprint.jsp; Line: 265] } //[ /fingerprint.jsp; Line: 266] out.print("\n</body>\n</html>"); } catch (Throwable __ee) { while (out != null && out != _originalOut) out = pageContext.popBody(); ((weblogic.servlet.jsp.PageContextImpl)pageContext).handlePageException((Throwable)__ee); }
//before final close brace...
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?