web.xml文件初始化过程

来源:互联网 发布:linux ed2k wget 编辑:程序博客网 时间:2024/06/03 22:02


初始化过程:context-param >> listener >> filter >> servlet

1.在启动WEB项目时,容器(Tomcat)会读取web.xml配置文件中的两个节点<listenner><context-param>

<context-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath*:/applicationContext.xml</param-value>    </context-param>

2.接着容器会创建一个ServletContext,即最为神秘的应用上下文,意思就是应用范围是整个WEB项目都可以使用这个上下文去进去一些操作。

这就得说到<context-param>中的value代表的文件,在这个例子中,此文件定义了一些面向整个WEB项目的相关配置。

<listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>

实际上,就是读取了<context-param>作为键值交给了ServletContext。


3.容器会开始创建监听器,即开始实例化<listener>,这里在Spring框架中,有时会出现报错java.lang.ClassNotFoundException,大部分时候,是由于你的jar包冲突了。


4.在监听器中,会存在一个contextInitialized(ServletContext event)方法,通过event.getServletContext().getInitParameter(context ConfigLocation),去获取<context-param>的值。


5.之后,初始化标示的过滤器<filter>

<filter>        <filter-name>Spring character encoding filter</filter-name>        <filter-class>            org.springframework.web.filter.CharacterEncodingFilter        </filter-class>        <init-param>            <param-name>encoding</param-name>            <param-value>utf-8</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>Spring character encoding filter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>

6.最后,才到初始化定义好的Servlet,以name作为桥梁,把<servlet><servlet-mapping>连接起来。通过规定的路径,把发往这个路径的请求交给对应的Servlet去处理。



原地址:http://blog.csdn.net/no_endless/article/details/52950011

原创粉丝点击