上一篇《Java Web应用的加载过程》大致介绍了web应用的加载过程,本文就web.xml常用节点进行介绍,详细如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 5 id="WebApp_ID" version="3.0"> 6 7 <!-- 定义web应用的名称 --> 8 <display-name>test-web</display-name> 9 <!-- 声明web应用的描述信息 --> 10 <description>test-web</description> 11 12 <!-- context-param元素声明,即ServletContext应用上下文范围内的初始化参数 --> 13 <context-param> 14 <param-name>contextConfigLocation</param-name> 15 <param-value>classpath*:applicationContext*.xml</param-value> 16 </context-param> 17 <!-- 日志配置文件 --> 18 <context-param> 19 <param-name>log4jConfigLocation</param-name> 20 <param-value>classpath*:log4j.properties</param-value> 21 </context-param> 22 23 <!-- 监听器,事件监听程序在建立、修改和删除会话或servlet环境初始化后或者销毁前得到通知,Listener元素指出事件监听程序类 --> 24 <!-- 默认的spring配置文件是在WEB-INF下的applicationContext.xml --> 25 <listener> 26 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 27 </listener> 28 29 <!-- 过滤器元素与javax.servlet.Filter接口的实现类相关联。 --> 30 <!-- 强制进行转码 --> 31 <filter> 32 <filter-name>CharacterEncodingFilter</filter-name> 33 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 34 <init-param> 35 <param-name>encoding</param-name> 36 <param-value>UTF-8</param-value> 37 </init-param> 38 <init-param> 39 <param-name>forceEncoding</param-name> 40 <param-value>true</param-value> 41 </init-param> 42 </filter> 43 <!-- 利用filter-mapping元素把Filter与一个或多个URL请求相关联。 --> 44 <filter-mapping> 45 <filter-name>CharacterEncodingFilter</filter-name> 46 <url-pattern>/*</url-pattern> 47 </filter-mapping> 48 49 <!-- 接收并处理具体URL请求的Servlet --> 50 <!-- springMVC的核心控制器 --> 51 <servlet> 52 <servlet-name>springMVC</servlet-name> 53 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 54 <init-param> 55 <param-name>contextConfigLocation</param-name> 56 <param-value>classpath*:springMVC-servlet.xml</param-value> 57 </init-param> 58 <load-on-startup>1</load-on-startup> 59 </servlet> 60 <!-- 服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。 61 更改缺省URL时,使用servlet-mapping元素。 --> 62 <servlet-mapping> 63 <servlet-name>springMVC</servlet-name> 64 <url-pattern>/</url-pattern> 65 </servlet-mapping> 66 67 <!-- 如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。 可通过使用HttpSession的setMaxInactiveInterval方法 68 明确设置单个会话对象的超时值, 或者可利用session-config元素指定缺省超时值。 --> 69 <!-- session配置,会话超时配置(单位为秒) --> 70 <session-config> 71 <session-timeout>120</session-timeout> 72 </session-config> 73 74 <!-- 指定欢迎文件页配置 --> 75 <welcome-file-list> 76 <welcome-file>/WEB-INF/index.html</welcome-file> 77 <welcome-file>/WEB-INF/index.jsp</welcome-file> 78 </welcome-file-list> 79 80 <!-- 在返回特定HTTP状态代码时,或者特定类型的异常被抛出时,能够指定将要显示的页面。 --> 81 <!-- 通过错误码来配置error-page错误页面 --> 82 <error-page> 83 <error-code>403</error-code> 84 <location>/WEB-INF/jsp/403.jsp</location> 85 </error-page> 86 <error-page> 87 <error-code>404</error-code> 88 <location>/WEB-INF/jsp/404.jsp</location> 89 </error-page> 90 <error-page> 91 <error-code>500</error-code> 92 <location>/WEB-INF/jsp/500.jsp</location> 93 </error-page> 94 <!-- 通过异常的类型配置error-page --> 95 <error-page> 96 <exception-type>java.lang.Throwable</exception-type> 97 <location>/WEB-INF/jsp/error.jsp</location> 98 </error-page> 99 100 <!-- 如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则使用mime-mapping元素进行配置。 --> 101 <mime-mapping> 102 <extension>htm</extension> 103 <mime-type>text/html</mime-type> 104 </mime-mapping> 105 106 </web-app>
其他的可参考: