Servlet - web.xml 与 Java 配置
Servlet - web.xml vs Java config
我正在将一个旧项目从 web.xml
方法迁移到完整的 Java 风格的 Servlet 3.0 配置。
但是我无法理解如何翻译 Java 代码中的部分 XML 配置。特别是下一个片段:
<jsp-config>
<taglib>
<taglib-uri>....</taglib-uri>
<taglib-location>....</taglib-location>
</taglib>
</jsp-config>
欢迎任何提示!
作为次要的、更具学术性的问题:Servlet 3.0 API 是否全面涵盖了您可以使用 XML 做什么?
斯特凡诺,
从JSP 2.0开始,就不需要在web.xml中放入<taglib>
标签了。来自 Head First Servlets 和 JSP 书:
The Container automatically builds a map between TLD files and names, so that when a JSP invokes a tag, the Container knows exactly where to find the TLD that describes the tag.
How? By looking through a specific set of locations where TLDs are allowed to live. When you deploy a web app, as long as you put the TLD in a place the Container will search, the Container will find the TLD and build a map for that tag library.
因此,您所要做的就是拥有一个具有正确 URI 的 TLD 文件。
放置您的 TLD 文件的地方:
- 直接在WEB-INF里面
- 直接在 WEB-INF 的子目录中
- 在 JAR 文件里面的 META-INF 目录里面
WEB-INF/lib
- 在 JAR 文件里面的 META-INF 的子目录里面
WEB-NF/lib
我正在将一个旧项目从 web.xml
方法迁移到完整的 Java 风格的 Servlet 3.0 配置。
但是我无法理解如何翻译 Java 代码中的部分 XML 配置。特别是下一个片段:
<jsp-config>
<taglib>
<taglib-uri>....</taglib-uri>
<taglib-location>....</taglib-location>
</taglib>
</jsp-config>
欢迎任何提示!
作为次要的、更具学术性的问题:Servlet 3.0 API 是否全面涵盖了您可以使用 XML 做什么?
斯特凡诺,
从JSP 2.0开始,就不需要在web.xml中放入<taglib>
标签了。来自 Head First Servlets 和 JSP 书:
The Container automatically builds a map between TLD files and names, so that when a JSP invokes a tag, the Container knows exactly where to find the TLD that describes the tag. How? By looking through a specific set of locations where TLDs are allowed to live. When you deploy a web app, as long as you put the TLD in a place the Container will search, the Container will find the TLD and build a map for that tag library.
因此,您所要做的就是拥有一个具有正确 URI 的 TLD 文件。
放置您的 TLD 文件的地方:
- 直接在WEB-INF里面
- 直接在 WEB-INF 的子目录中
- 在 JAR 文件里面的 META-INF 目录里面 WEB-INF/lib
- 在 JAR 文件里面的 META-INF 的子目录里面 WEB-NF/lib