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

时间:2013-09-27 15:19:50

标签: glassfish web.xml

有人可以解释glassfish-web.xmlsun-web.xmlweb.xml之间的主要差异(或提供链接)吗?

我可以在我的网络应用中使用glassfish-web.xml并跳过其他人吗?

2 个答案:

答案 0 :(得分:62)

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

您可能需要也可能不需要web.xml文件。这取决于您使用的Java EE功能。默认情况下,不要使用任何这些文件,只需使用@WebServlet等Java EE注释即可。在构建应用程序时,可能会开始使用一些需要web.xml文件的功能(比如定义JavaServer Faces FacesServlet),然后使用web.xml文件。至于glassfish-web.xml,只有在为应用程序配置GlassFish特定功能时才使用它。

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

答案 1 :(得分:-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>