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文件沒用,必須改這里的,才有用。