在一些servlet之后在Web应用程序中加载spring上下文

时间:2010-07-20 15:41:44

标签: spring web-applications servlets

我们需要在我们的web应用程序中加载spring应用程序上下文 我们的一个servlet初始化之后,所以我想知道最好的方法是什么?

我知道建议在web.xml中使用监听器,但这显然不利于我们,因为在这种情况下,上下文将在第一个servlet之前加载。我在Spring 2.5中看到有这个类 - ContextLoaderServet - 但它在Spring 3.0中没有。所以我想我们应该自己编写一些虚拟servlet,其唯一目的是加载上下文?还有更好的办法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

好的,所以如果你有这个设置内容的遗留servlet,那么你需要说服Spring servlet在它之后加载。

这很简单 - 使用Spring的DispatcherServlet加载Spring上下文,并使用<load-on-startup>中的标准web.xml来指示启动顺序,例如

<servlet>
  <servlet-name>LegacyServlet</servlet-name>
  <servlet-class>com.xy.LegacyServlet</servlet-class>
  <load-on-startup>0</load-on-startup>
</servlet>


<servlet>
  <servlet-name>SpringServlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>