2016-04-25 61 views
0

我將一箇舊項目從web.xml的方法遷移到一個完整的Java風格的Servlet 3.0配置。Servlet-web.xml vs Java配置

但我不明白如何翻譯Java代碼中的XML配置的一部分。特別是下一個片段:

<jsp-config> 
    <taglib> 
     <taglib-uri>....</taglib-uri> 
     <taglib-location>....</taglib-location> 
    </taglib> 
</jsp-config> 

任何暗示都會受到歡迎!作爲一個次要的,更具學術性的問題:Servlet 3.0 API是否提供了你可以用XML做什麼的全面覆蓋,或者不是嗎?

回答

1

斯特凡諾,

由於JSP 2.0,有在web.xml中把<taglib>標籤沒有必要。從深入淺出Servlets和JSP的書:

容器自動建立TLD文件和名稱之間的映射,這樣當JSP調用一個標籤,集裝箱確切地知道在哪裏可以找到一個描述標籤的TLD。 如何?通過查看允許TLD生存的特定位置。當您部署Web應用程序時,只要您將TLD放置在容器將要搜索的位置,容器就會找到TLD併爲該標記庫構建地圖。

所以,你所要做的就是擁有一個帶有正確URI的TLD文件。

地方把你的TLD文件:

  • 直接WEB-INF內
  • 直接的子目錄內WEB-INF
  • 裏面的META-INF目錄中的一個JAR網絡lethat裏面裏面 WEB-INF/lib目錄
  • 內部的JAR網絡內META-INF的子目錄lethat裏面 WEB-NF/lib目錄