Web容器之Listener初始化顺序

在Web容器启动时,web.xml的加载顺序一般是这样的,挑选几个常用属性来说,顺序如下
1、context-param

2、listener

3、 filter

4、 servlet

而当我们想要在Listener初始化一些数据的时候,势必要把初始化的逻辑代码写在listener里面。
在同一个web.xml里面写两个listener,它们的初始化顺序是不根据你写在web.xml里面的顺序而定的,就相当于说你要想在自定义Listener使用spring管理的bean那就会得到一个null值。

那这个时候就要手动的去控制好listener的顺序。那如果不要使用spring管理的bean那也就没有这个必要去控制顺序。

方法肯定是有的,可以采用自定义的listener但这个listener不要去去实现ServletContextListener,而是extends org.springframework.web.context.ContextLoaderListener。Override contextInitialized(ServletContextEvent event)方法,在这个Override方法里面控制好执行顺序就可以了。

你可能感兴趣的:(Web容器之Listener初始化顺序)