2011-02-23 52 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\