“web-app_*.dtd”参考 web.xml 是否确定了 Web 应用程序中使用的 Servlet 和 JSP 版本?
不知怎的,我一直有这样的印象,但似乎我错了。我有一个 web.xml 指定的应用程序
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
我在想它应该使用 Servlet 2.3 版。但是,当我将以下代码放入我的 JSP 中时,我得到了一个完全不同的版本。
<div>
Server info: <%= application.getServerInfo() %><br>
Servlet version: <%= application.getMajorVersion() %>.<%= application.getMinorVersion() %>
JSP version: <%= JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion() %><br>
</div>
输出:
Server info: Apache Tomcat/7.0.21
Servlet version: 3.0
JSP version: 2.1
我将感谢一些相关问题的帮助:。
- dtd 版本是否与应用程序中使用的 Servlet 和 JSP 版本有任何关系?
- 我的应用程序是否使用 Servlet 3.0 版,因为这是 Apache Tomcat 7 使用的默认版本?
- 有没有办法让 Tomcat 7 使用旧的 Servlet JSP 版本?
- 此页面上的一条评论(由 Bauke Scholtz 撰写)似乎表明每个 Servlet 版本都与 JSP 版本相关联。这总是真的吗?