jsp被转成servlet后eclipse把这个servlet放在哪个目录下呢?

马克-to-win:对于学有余力的同学,我最后再延伸讲一点。Eclipse运行jsp的时候,先把它变成一个servlet(发生在第一次访问jsp时)。 eclipse把这个servlet放在哪个目录下呢?我们可以按照下面的步骤找到它:右击项目/Run as/Run Configuration找到你的Tomcat Server/Argument其中找到deploy这个参数,它清清楚楚的标明,你的Servlet项目被部署到哪个目录下了!到那个目录附近,耐心打开每个目录。仔细依照可以找到这个servlet,我的在D:\eclipseJee\.metadata\.plugins\ org.eclipse.wst.server.core\tmp0\work\Catalina
\localhost\ServletHello\org\apache\jsp\jsp1_jsp.java。
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
我把它稍微改编一下, 大家就看的更清楚了:


Servlet{
    private int accessCount = 0;
    double called() {
        return Math.random();
    }
    doGet(HttpServletRequest request, HttpServletResponse response){
         response.setContentType("text/html; charset=GBK");
        out.write("<html>\r\n");
        out.print(++accessCount);
        if (called() < 0.5) {
           out.write("\r\n");
           out.write("天气好\r\n");
        } else {
           out.write("\r\n");
           out.write("天气不好\r\n");

        }
        out.write("\r\n");
        out.write("</body>\r\n");
        out.write("</html>");
     }
}


当程序变成一个servlet, 对我们来讲就简单极了!




输出的结果在浏览器中:

1 天气不好

每刷新一次, 数字往上增一。

【新手可忽略】

1)jsp编译成的class版本怎么看?用EltraEdit编辑器看。

































32代表jdk1.6。
33代表jdk1.7。。。。以此类推。




2)在生产环境中,完全没有eclipse影响,纯tomcat中,如何设置jsp生成的class版本?

\apache-tomcat-7.0.82\conf\web.xml文件中:

    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
     <init-param>
        <param-name>compilerSourceVM</param-name>
        <param-value>1.7</param-value>
    </init-param>
    <init-param>
        <param-name>compilerTargetVM</param-name>
        <param-value>1.7</param-value>
    </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>


缺省值在原始web.xml里面:
  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
  <!-- used by Tomcat to support JSP pages.   This servlet supports the     -->
  <!-- following initialization parameters (default values are in square brackets):   -->
     
  <!--   compilerSourceVM    Compiler source VM. [1.6]                      -->
  <!--                                                                      -->
  <!--   compilerTargetVM    Compiler target VM. [1.6]                      -->  

3)在eclipse中,如何设置jsp生成的class版本?
eclipse是把上面说的tomcat/bin/web.xml缓存了一版在eclipse中,所以你改tomcat目录中的web.xml文件没用,必须改这里的,才有用。