什么是Web应用程序中的ContextLoaderListener和Servlet上下文?

时间:2012-11-28 14:25:42

标签: java spring model-view-controller web

也可以参考下面提到的从spring-reference开始的声明解释这个。

  

如果您不想使用Spring的Web MVC,但打算利用   Spring提供的其他解决方案,您可以集成Web MVC   您可以轻松选择Spring的框架。简单地启动一个Spring   根应用程序上下文通过其ContextLoaderListener和访问   它通过它的ServletContext属性(或Spring的各自助手)   方法)来自Struts或WebWork中的操作。没有“插件”   涉及,因此不需要专门的整合。

2 个答案:

答案 0 :(得分:1)

这意味着如果您不想使用Spring MVC,请使用ContextLoaderListener在ServletContext中引导WebApplicationContext。像这样:

<!-- Bootstrap the root application context as usual using ContextLoaderListener -->
  <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

然后使用WebApplicationContextUtils方法getRequiredWebApplicationContext(ServletContext sc)(或其他多种方式)获取WebApplicationContext并访问Spring Bean。

您可以在应用程序的任何部分执行此操作(只要您可以获得ServletContext)。这意味着您不必将Spring集成到其他技术中。

答案 1 :(得分:0)

servlet context是Web应用程序目录的根目录。其他所有内容都是相对于它的参考。 Context loader listener是加载spring上下文的第二种方式,首先是使用dispatcher servlet。

应用程序上下文是由web.xml中定义的 ContextLoaderListener ContextLoaderServlet (dispatcher-servlet)初始化的容器