glassfish-web.xml vs sun-web.xml vs web.xml

有人可以解释glassfish-web.xml,sun-web.xml和web.xml之间的主要区别(或提供链接)吗?

我可以在webapp中只使用glassfish-web.xml并跳过其他的?

非常感谢。

  • web.xml :由Java EE定义的标准部署描述符(特别是Servlet JSR,但被许多JSR使用)。 它用于指定Web容器使用的元数据,以跨应用程序服务器(例如servlet的URL端点)以可移植的方式部署应用程序。 在Java EE 6及更高版本中,当您的Java代码中的注释提供元数据(如@WebServlet)时,它是可选的(取决于您使用的技术)。
  • glassfish-web.xml :每个应用程序服务器都提供特定于实现的function。 要为GlassFishconfiguration这些function,请使用glassfish-web.xml。 这在GlassFish文档中有logging 。
  • sun-web.xml :传统的应用程序服务器特定的部署描述符,已被glassfish-web.xml取代。 在Sun被Oracle收购后,拥有这个名字已经不合情理了。 此文件名仍支持向后兼容性,但您应该迁移到glassfish-web.xml。

您可能需要也可能不需要一个web.xml文件。 这取决于您使用的Java EEfunction。 默认情况下,不要使用这些文件中的任何一个,只需使用@WebServlet等Java EE标注。 在构build应用程序时,可能会使用一些需要web.xml文件的function(如定义JavaServer Faces FacesServlet),然后使用web.xml文件。 至于glassfish-web.xml,只有在您为应用程序configurationGlassFish特定function时才使用它。

Java EE教程也是学习Java EE的好方法,并与Java EE 7 SDK以及GlassFish 4捆绑在一起。

Web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>BusProject</display-name> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-servlet.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>