理解web.xml文件

项目加载web.xml文件的过程:

1. 先读取<context-param></context-param>和<listener></listener>;

    <context-param>翻译成中文是“上下文参数”,从字面意思就能明白作用:上下文通用参数的初始化;

    <listener>它能监听到服务器的启动和停止,在启动和停止时触发里面的方法做相应必要的常规操作;

2. 创建一个ServletContext,被整个项目共享;

3. ServletContext根据<context-param>进行赋值;

4. ServletContext根据<listener>进行启动的必要化工作;

    比如:<context-param>中设置数据库的连接方式(驱动、url、user、password),在<listener>中初始化数据库的连接销毁资源释放等;

5. ServletContext根据<filter></filter>实例化过滤器;

6. ServletContext根据<servlet></servlet>进行servlet的初始化;

    <servlet>里配置的类不管有多新技术,都必须得实现最老牌的HttpServlet;

    它的主要作用是对请求url进行分析分配,例如:http请求的url=http://localhost:9001/program/XXX/XXX? aa=xx & bb=xx;   

     /XXX/XXX匹配上servletA的<url-pattern>,就交由servlet处理,匹配上servletB的<url-pattern>就交由servletB处理;

     aa=xx & bb=xx 参数的处理,则是交由对应上的servlet里的拦截器interceptor来处理;

    -------------------------------------------------------------------------------------------------------------------------------------

    注意:<servlet>只要有一个servlet匹配上,就不继续进行下一个servlet的匹配,而<filter>是顺序匹配,不管有没有匹配上,反正你得依照顺序把<filter>都过一遍;

整的来说,web.xml的加载顺序:

<context-param> ----><listener>----> <filter> ----> <servlet>

猜你喜欢

转载自blog.csdn.net/jim_007/article/details/81116099
今日推荐