web.xml 中的listener、 filter、servlet 加载顺序

来源:互联网 发布:3.35 魔兽数据库 编辑:程序博客网 时间:2024/05/22 01:31

web.xml 中的listener、 filter、servlet 加载顺序

1.在 web.xml 文件中不同类型的加载跟定义的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -> filter -> servlet;
测试方法:分别自定义一个listener,filter和servlet。在init()方法里面打印日志信息,启动服务器后看日志信息顺序即可。
2.同类型配置默认根据定义先后进行加载,如web.xml定义多个filter(先后定义filter1,filter2,filter3):则按filter1->filter2->filter3顺序加载;
测试方法:定义相同类型的filter,在init()方法日志,看日志先后顺序即可。
3.定义多个servlet时,可通过配置<load-on-startup>x</load-on-startup>定义配置优先级。配置如下:
<servlet><servlet-name>my_servlet</servlet-name><servlet-class>com.mycompany.ServletClass1</servlet-class>< init-param> <!--定义servlet的初始化参数, 可以有多个init-param参数-->< param-name>iParam< /param-name>< param-value>2< /param-value>< /init-param>< load-on-startup>2< /load-on-startup> <!--定义servlet的加载顺序--></servlet> <servlet-mapping><servlet-name>my_servlet</servlet-name><url-pattern>*.hello</url-pattern></servlet-mapping>

4.配置了context-param参数时,加载顺序为context-param ->listener -> filter -> servlet
原创粉丝点击