Разница между ContextLoaderListener и ContextLoaderServlet - PullRequest
9 голосов
/ 07 февраля 2011

Я знаю, что getWebApplicationContext () находит корневой WebApplicationContext через ContextLoaderListener или ContextLoaderServlet

Но мне нужно знать разницу и когда ее использовать?

Ответы [ 2 ]

14 голосов
/ 07 февраля 2011

javadoc для ContextLoaderServlet говорит само за себя:

Обратите внимание, что этот класс устарел для контейнеров, реализующих Servlet API 2.4 или выше, в пользу ContextLoaderListener.

Очевидно, до Servlet API 2.4 порядок, в котором инициализируются прослушиватели и сервлеты, не определялся спецификацией.Таким образом, чтобы убедиться, что контекст Spring правильно загружен перед любыми другими сервлетами в Сервлете 2.3 и ниже, вам необходимо использовать ContextLoaderServlet и поместить его в качестве первого для загрузки при запуске.Проверьте эту ссылку для получения дополнительной информации.

2 голосов
/ 14 июня 2012

Загрузчик контекста загружает файлы конфигурации контекста 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...