jsp被轉(zhuǎn)成servlet后eclipse把這個(gè)servlet放在哪個(gè)目錄下呢?

馬克-to-win:對(duì)于學(xué)有余力的同學(xué),我最后再延伸講一點(diǎn)。Eclipse運(yùn)行jsp的時(shí)候,先把它變成一個(gè)servlet(發(fā)生在第一次訪問jsp時(shí))。 eclipse把這個(gè)servlet放在哪個(gè)目錄下呢?我們可以按照下面的步驟找到它:右擊項(xiàng)目/Run as/Run Configuration找到你的Tomcat Server/Argument其中找到deploy這個(gè)參數(shù),它清清楚楚的標(biāo)明,你的Servlet項(xiàng)目被部署到哪個(gè)目錄下了!到那個(gè)目錄附近,耐心打開每個(gè)目錄。仔細(xì)依照可以找到這個(gè)servlet,我的在D:\eclipseJee\.metadata\.plugins\ org.eclipse.wst.server.core\tmp0\work\Catalina
\localhost\ServletHello\org\apache\jsp\jsp1_jsp.java。
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 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>");
     }
}


當(dāng)程序變成一個(gè)servlet, 對(duì)我們來講就簡(jiǎn)單極了!




輸出的結(jié)果在瀏覽器中:

1 天氣不好

每刷新一次, 數(shù)字往上增一。

【新手可忽略】

1)jsp編譯成的class版本怎么看?用EltraEdit編輯器看。

































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




2)在生產(chǎn)環(huán)境中,完全沒有eclipse影響,純tomcat中,如何設(shè)置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中,如何設(shè)置jsp生成的class版本?
eclipse是把上面說的tomcat/bin/web.xml緩存了一版在eclipse中,所以你改tomcat目錄中的web.xml文件沒用,必須改這里的,才有用。