__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 + -
显示快捷键?