1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。
2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。
3、容器将<context-param>转换为键值对,并交给servletContext。
4、容器创建<listener>中的类实例,创建监听器。
故加载顺序为:
由此,可以看出,web.xml 的加载顺序是:context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的
context-param:配置上下文参数
5、servlet中配置
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
其中init-param: 该DispatcherServlet加载的时候默认会去读取WEB-INFO下的dispatcher-servlet.xml配置文件,如果要指定多个配置文件或者是指定路径就需要添加init-param。该配置文件指定视图解析相关的内容
load-on-startup内的值必须是整数 如果值大于0 启动的时候就加载该servlet 否则则指示容器在该servlet被选择时才加载
async-supported:异步支持
6、Spring上下文监听配置
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
执行该监听的时候 会去读取上下文信息,并初始化bean例如
<bean id="person" class="com.fusionskye.ezsonar.model.configcenter.Person">
<property name="ss" value="习惯就好,误人子弟."/>
<property name="student" ref="student"/>
7、session配置 单位分钟
如下配置设置整个应用程序session超时时间为15分钟
<session-config>
<session-timeout>15</session-timeout>
</session-config>
参考连接如下
http://blog.csdn.net/hongshan50/article/details/7335443
http://www.cnblogs.com/Kevin-mao/p/5664056.html
http://www.cnblogs.com/zjhs/archive/2012/10/26/2741228.html