ContextLoaderListener和ContextLoaderServlet之间的区别

Som*_*Guy 9 java spring servlets

我知道getWebApplicationContext()通过ContextLoaderListener或找到根WebApplicationContextContextLoaderServlet

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

laz*_*laz 14

ContextLoaderServlet 的javadoc说明了一切:

请注意,对于实现Servlet API 2.4或更高版本的容器,不推荐使用此类,而使用ContextLoaderListener.

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