天天看點

Tomcat 6 --- 使用Jasper引擎解析JSP

熟悉JAVA web開發的朋友都知道JSP會被轉換成java檔案(預編譯),然後編譯成class使用,即按照JSP-->java-->class的過程進行編譯。 由于JVM隻認識class檔案,它不知道什麼是JSP,是以在tomcat中 如何把JSP解析成java檔案 就是本文所要描述的問題。 其他翻譯内容參考:Tomcat官方文檔翻譯  如有錯誤,請予指正。

  Jasper是tomcat中使用的JSP引擎,在Tomcat 6中使用的是Jasper 2,相對于原來的版本作了不少的改進,比如:JSP的标簽緩沖池、背景編譯、頁面改變時自動重新編譯、Eclipse中JDT編譯等等。

  那麼Jasper到底是做什麼的呢?

  簡單的說,就是把JVM不認識的JSP檔案解析成java檔案,然後編譯成class檔案提供使用。目前有很多的JSP解析引擎,Tomcat中使用的是Jasper。

  在Tomcat中可以通過配置 CATALINA_HOME/conf/web.xml 中的内容,配置Jasper的選項(web.xml中的内容很長,截取其中的一部分):

  具體的參數,上面都有解釋,這裡就不多贅述了。

  都是些調節JSP編譯的參數,比如多長時間檢測一次,debug的調試資訊相關配置,編譯資訊等等。

  1 jasper相關jar包

  在tomcat6中提供了幾個jasper的jar包,相對于之前版本,去掉了jasper-compiler.jar以及jasper-runtime.jar,合并為jasper.jar

Tomcat 6 --- 使用Jasper引擎解析JSP

  另外如果開發者自己想要編譯JSP,還需要使用ant以及tomcat-juli.jar。

  2 ant相關jar包

  其中ant相關的jar包可以去官網下載下傳ant.zip,然後解壓提取其中lib内的jar包。

Tomcat 6 --- 使用Jasper引擎解析JSP

  3 tomcat-juli相關jar包

  tomcat-juli.jar位于CATALINA_HOME/bin/目錄下。

  在Eclipse的建構路徑下添加上述相關的jar包即可,然後建立測試類:

  添加JAR包步驟:右鍵工程-->Properties-->Java Build Path-->Libraries-->Add External JARs-->選擇添加的JAR包-->OK

  可以使用兩種方式進行自定義的JSP編譯。

  測試後,可以在 F:/test 目錄下發現編譯出的index.jsp的java檔案以及class檔案。

Tomcat 6 --- 使用Jasper引擎解析JSP

【1】Jasper2 JSP引擎:http://tomcat.apache.org/tomcat-6.0-doc/jasper-howto.html

【2】解讀JSP解析過程:http://www.cnblogs.com/zollty/p/3309310.html

【3】使用Jspc編譯JSP檔案:http://kjah.iteye.com/blog/625588

作者:xingoo

出處:http://www.cnblogs.com/xing901022

本文版權歸作者和部落格園共有。歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接!