web.xml 文件
web.xml 文件提供有关包含 Web 应用程序的 Web 组件的配置和部署信息。
Java™ Servlet 规范定义了web.xml以 XML 模式文档的形式呈现部署描述符文件。 为了向后兼容,任何web.xml写入 Servlet 的文件2.2或之前版本中有效的版本WebSphere® Application Server受到 Web 容器的支持。
如果你使用Rational® Application Developer版本 6 来创建 portlet,您必须删除以下引用std-portlet.tld来自web.xml文件:
<taglib id="PortletTLD">
<taglib-uri>http://java.sun.com/portlet</taglib-uri>
<taglib-location>/WEB-INF/tld/std-portlet.tld</taglib-location>
</taglib>
位置
这web.xml文件必须位于WEB-INFWeb 应用程序存在的目录层次结构上下文下的目录。
例如,如果应用程序client.war,然后web.xml文件放置在安装根目录/客户战/WEB-INF目录。
例如,如果应用程序client.war,然后web.xml文件放置在profile_root/installedApps/cellName/client.ear/client.war/WEB-INF目录(在默认安装中),其中版本是基础版本或WebSphere Application Server Network Deployment,取决于您使用的版本。
使用说明
- 该文件是只读的吗?
否
- 该文件是由产品组件更新的吗?
此文件由组装工具更新。
- 如果是,什么触发其更新?
当您将 Web 组件组装到 Web 模块,或者当您修改 Web 组件或 Web 模块的属性时,组装工具会更新 web.xml 文件。
- 如何及何时使用该文件的内容?
WebSphere Application Server函数在 Web 应用程序开发的配置和部署阶段使用此文件中的信息。
支持的配置:这web.xml文件并不代表可用于 Web 应用程序的完整配置。 存在其他 Servlet 过滤器以及可以使用程序式配置、注释和
Web 片段进行定义的侦听器。
避免麻烦:将 Web 应用程序元数据标记为完成将阻止注释和 Web 片段配置组件。
样本文件条目
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="https://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">
<display-name>Servlet 3.0 application</display-name>
<filter>
<filter-name>ServletMappedDoFilter_Filter</filter-name>
<filter-class>tests.Filter.DoFilter_Filter</filter-class>
<init-param>
<param-name>attribute</param-name>
<param-value>tests.Filter.DoFilter_Filter.SERVLET_MAPPED</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ServletMappedDoFilter_Filter</filter-name>
<url-pattern>/DoFilterTest</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>ServletMappedDoFilter_Filter</filter-name>
<url-pattern>/IncludedServlet</url-pattern>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>ServletMappedDoFilter_Filter</filter-name>
<url-pattern>ForwardedServlet</url-pattern>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<listener>
<listener-class>tests.ContextListener</listener-class>
</listener>
<listener>
<listener-class>tests.ServletRequestListener.RequestListener</listener-class>
</listener>
<servlet>
<servlet-name>welcome</servlet-name>
<servlet-class>WelcomeServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ServletErrorPage</servlet-name>
<servlet-class>tests.Error.ServletErrorPage</servlet-class>
</servlet>
<servlet>
<servlet-name>IncludedServlet</servlet-name>
<servlet-class>tests.Filter.IncludedServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ForwardedServlet</servlet-name>
<servlet-class>tests.Filter.ForwardedServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>welcome</servlet-name>
<url-pattern>/hello.welcome</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletErrorPage</servlet-name>
<url-pattern>/ServletErrorPage</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>IncludedServlet</servlet-name>
<url-pattern>/IncludedServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ForwardedServlet</servlet-name>
<url-pattern>/ForwardedServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>hello.welcome</welcome-file>
</welcome-file-list>
<error-page>
<exception-type>java.lang.ArrayIndexOutOfBoundsException</exception-type>
<location>/ServletErrorPage</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/error404.html</location>
</error-page>
</web-app>
最佳实践:对于每个<error-page>声明,选择<exception-type>或<error-code>,但不能同时满足两者。 该<location>标签是必需的。