2016-04-25 60 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目录