如何找到Glassfish服务器的Servlet API版本?

如何找到Glassfish服务器的Servlet API版本?,第1张

如何找到Glassfish服务器的Servlet API版本

看一下Java
EE版本
。Servlet(以及JSP,JSF,EJB,JPA等)版本与Java
EE版本紧密相关。

  • Java EE 8 = Servlet 4.0
  • Java EE 7 = Servlet 3.1
  • Java EE 6 = Servlet 3.0
  • Java EE 5 = Servlet 2.5
  • J2EE 1.4 = Servlet 2.4
  • J2EE 1.3 = Servlet 2.3
  • J2EE 1.2 = Servlet 2.2

查看服务器主页/文档的显示方式。对于GlassFish,当前是(带有4.1):

全球首个Java EE 7应用服务器

因此,它是Servlet 3.1。

但是, 尽管 很大,但这是一回事。第二件事是,Web应用程序

web.xml
版本也起作用。并非所有人都知道。

如果您的Web应用

web.xml
程序声明为符合Servlet 3.1,如下所示,

<?xml version="1.0" encoding="UTF-8"?><web-app     xmlns="http://xmlns.jcp.org/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"    version="3.1">    <!-- Config here. --></web-app>

那么您的web应用也将真正以Servlet 3.1方式运行。

但是,如果它被声明为符合Servlet 3.0(例如以下甚至更旧),

<?xml version="1.0" encoding="UTF-8"?><web-app     xmlns="http://java.sun.com/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"    version="3.0">    <!-- Config here. --></web-app>

那么您的Web应用程序将以Servlet 3.0兼容方式运行,即使将其部署到Servlet
3.1兼容容器中也是如此!上面的内容影响了

ServletContext#getMajorVersion()
getMinorVersion()
,因此它们实际上不涉及容器,只涉及Webapp本身。

如果您的Web应用程序

web.xml
包含一个
<!DOCTYPE>
,而不管DTD和版本如何,那么即使声明了更新的XSD,它也将以Servlet
2.3兼容方式运行!

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "java.sun.com/dtd/web-app_2_3.dtd"><web-app     xmlns="http://xmlns.jcp.org/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"    version="3.1">    <!-- This is WRONG! The DOCTYPE must be removed! --></web-app>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5490595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存