一、web.xml配置详解
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 5 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 6 7 <!-- 可以设置节点载入顺序 : 如下有两种载入applicationContext的方式: 8 1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param> 9 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文. 10 3.容器将<context-param></context-param>转化为键值对,并交给ServletContext. 11 4.容器创建<listener></listener>中的类实例,即创建监听. 12 5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得ServletContext = ServletContextEvent.getServletContext(); 13 context-param的值 = ServletContext.getInitParameter("context-param的键"); 14 6.得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早. 15 换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行. 16 7.举例.你可能想在项目启动之前就打开数据库. 17 那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接. 18 8.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭. 19 --> 20 <context-param> 21 <param-name>contextConfigLocation</param-name> 22 <param-value>classpath*:/spring/*.xml</param-value> 23 </context-param> 24 25 <!-- 一、context-param载入applicationContext: 26 1:src下面 需要在web.xml中定义如下: 27 <context-param> 28 <param-name>contextConfigLocation</param-name> 29 <param-value>classpath:applicationContext.xml</param-value> 30 </context-param> 31 2:WEB-INF下面 需要在web.xml中定义如下: 32 <context-param> 33 <param-name>contextConfigLocation</param-name> 34 <param-value>WEB-INF/applicationContext*.xml</param-value> 35 </context-param> 36 3:修改名字定义如下: 37 <context-param> 38 <param-name>contextConfigLocation</param-name> 39 <param-value>classpath:spring-mvc.xml</param-value> 40 </context-param> 41 --> 42 43 <!-- 二、init-param载入applicationContext: 44 1:默认配置载入如下: 45 <servlet> 46 <servlet-name>applicationContext</servlet-name> 47 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 48 </servlet> 49 <servlet-mapping> 50 <servlet-name>applicationContext</servlet-name> 51 <url-pattern>/</url-pattern> 52 </servlet-mapping> 53 2:修改名字位置载入如下: 54 <servlet> 55 <servlet-name>SpringMVC</servlet-name> 56 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 57 <init-param> 58 <param-name>contextConfigLocation</param-name> 59 <param-value>classpath:spring-mvc.xml</param-value> 60 </init-param> 61 <load-on-startup>1</load-on-startup> 62 </servlet> 63 <servlet-mapping> 64 <servlet-name>SpringMVC</servlet-name> 65 // 此处可以可以配置成*.do,*.action 对应不同需求 66 <url-pattern>/</url-pattern> 67 </servlet-mapping> 68 --> 69 70 <!-- 字符编码过滤器 --> 71 <filter> 72 <filter-name>encodingFilter</filter-name> 73 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 74 <init-param> 75 <param-name>encoding</param-name> 76 <param-value>UTF-8</param-value> 77 </init-param> 78 <init-param> 79 <param-name>forceEncoding</param-name> 80 <param-value>true</param-value> 81 </init-param> 82 </filter> 83 <!-- 过滤器 过滤所有请求 名字对应--> 84 <filter-mapping> 85 <filter-name>encodingFilter</filter-name> 86 <url-pattern>/*</url-pattern> 87 </filter-mapping> 88 89 90 <!-- Spring监听器 --> 91 <listener> 92 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 93 </listener> 94 <!-- 防止Spring内存溢出监听器 --> 95 <listener> 96 <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> 97 </listener> 98 99 100 <welcome-file-list> 101 <welcome-file>index.jsp</welcome-file> 102 </welcome-file-list> 103 104 <!-- 配置session超时时间。单位分钟。一般默认30min --> 105 <session-config> 106 <session-timeout>15</session-timeout> 107 </session-config> 108 </web-app>
web.xml
时间: 2024-10-19 03:28:01