Java WEB 项目中 web.xml 配置

2018/07/19 Java

概述

Java WEB 项目中都有一个 web.xml 文件,里面最重要的就是配置 listenerfilterservlet,在项目启动的时候 WEB 容器会创建 ServletContext,然后读取这个文件进行配置。

加载顺序

  1. 加载顺序与它们在 web.xml 文件中的先后顺序无关
  2. 按照如下顺序加载 ServletContext -> context-param -> listener -> filter -> servlet
  3. 同个类型之间的实际调用顺序是根据对应的 mapping 的顺序
  4. 对于拥有相同 filter-namefilterfilter-mapping 配置节而言,filter-mapping 必须出现在 filter 之后
  5. servlet 可以配置 load-on-startup 节点,非负数下,值越小越优先加载;负数下,servlet 被选择时才加载

可用配置

web.xml 整体结构

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

    <context-param>
        <param-name>param</param-name>
        <param-value>value</param-value>
    </context-param>

    <listener>
        <listener-class>com.ContextListener</listener-class> 
    </listener>

    <filter>
        <filter-name>myFilter</filter-name>
        <filter-class>com.myFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>myFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <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>

    <!-- web站台中的session参数 -->
    <session-config></session-config>

    <!-- 所有session的有效期限,单位为 分钟 -->
    <session-timeout></session-timeout>

    <!-- 一个扩展名和某一个MIME Type做对映 -->
    <mime-mapping>
        <extension>doc</extension>
        <mime-type>application/vnd.ms-word</mime-type>
    </mime-mapping> 

    <!-- 首页的列单 -->
    <welcome-file-list>
        <!-- 首页的文件名称 -->
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
    </welcom-file-list>

    <!-- 错误代码或异常的页面 -->
    <error-page>
        <error-code>404</error-code>
        <location>/error404.jsp</location>
    </error-page>

    <taglib>
        <taglib-uri>myTaglib</taglib-uri>
        <taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>
    </taglib>

</web-app>

Search

    Table of Contents