ContextLoaderListener和ContextLoaderServlet之间的区别

时间:2011-02-07 06:57:54

标签: java spring servlets

我知道getWebApplicationContext()通过ContextLoaderListenerContextLoaderServlet

找到根WebApplicationContext

但我需要知道差异以及何时使用它?

2 个答案:

答案 0 :(得分:14)

ContextLoaderServlet的javadoc说明了一切:

  

请注意,对于实现Servlet API 2.4或更高版本的容器,已弃用此类,而支持ContextLoaderListener。

显然,在Servlet API 2.4之前,规范并未强制规定监听器与servlet的初始化顺序。因此,为了确保在Servlet 2.3和更低容器中的任何其他servlet之前正确加载Spring上下文,您需要使用ContextLoaderServlet并将其作为第一个在启动时加载。查看该链接以获取更多详细信息。

答案 1 :(得分:2)

上下文加载器加载上下文配置文件ex(在web.xml内):

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/daoContext.xml /WEB-INF/applicationContext.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>