2011-02-23 53 views

回答

4

它在运行时完成,当第一次调用JSP时。一些web服务器还配备了一个JSP编译器允许这样做在编译的时候,它有两个优点:

  1. 它允许在编译的时候,而不是运行时
  2. 检测JSP语法错误它避免了第一次调用时间处罚(将JSP编译为Java,然后将Java编译为字节码需要一些时间)。
+0

我的例子test.jsp的文件中找到转换后的servlet(.java.class文件)是Apache软件基金会\ Tomcat 6.0 \ webapps \ jsp \ test.jsp我跑了一次。 tomcat在哪里创建servlet? – user602774 2011-02-23 18:05:27

+0

它将生成的类文件存储在它的* work *目录中。生成的Java代码不会存储在任何地方,除非使用keepgenerated jasper选项。有关详细信息,请参阅http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html – 2011-02-23 18:17:49

1

这是在您请求JSP页面时自动完成的,因此您不必运行命令。有时可以预编译您的JSP等,但这不是必需的。

This page解释了JSP页面的生命周期。

3

JSP页面首次加载时,JSP页面会在运行时自动转换为servlet。
在Apache TomCat服务器上,当加载JSP页面时,您可以在TomCat服务器的\work目录中看到自动生成的.java.class文件。


例如,如果您test.jsp文件是在
\Apache Software Foundation\Tomcat 5.5\webapps\jsp\
你可以在
\Apache Software Foundation\Tomcat 5.5\work\Catalina\localhost\jsp\org\apache\jsp\