我有一个使用spring的web应用程序,其中我有一个servlet,它在init方法中定位上下文:
private ContextLoader contextLoader;
public void init() throws ServletException {
contextLoader = new ContextLoader();
contextLoader.initWebApplicationContext(getServletContext());
}
另外,我有一个servlet,我在其中执行以下操作:
public void init(FilterConfig config) throws ServletException {
WebApplicationContext context =
WebApplicationContextUtils.getWebApplicationContext(config.getServletContext());
//here I'm using the context
}
问题:在servlet初始化之前调用过滤器的init()方法,因此我在过滤器中获得的上下文为null。在web.xml中,我的servlet配置了load-on-startup = 1。
有什么办法可以在servlet初始化后使我的过滤器初始化,这样我就可以在过滤器中使用WebApplicationContext了?
谢谢!
答案 0 :(得分:1)
试试这个: