标签:
在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方法里面控制好执行顺序就可以了。
标签:
原文地址:http://my.oschina.net/u/2378720/blog/424107