Я знаю, что getWebApplicationContext() находит корень WebApplicationContext через ContextLoaderListener
или ContextLoaderServlet
разница между ContextLoaderListener и ContextLoaderServlet
Но мне нужно знать разницу, и когда его использовать?
Я знаю, что getWebApplicationContext() находит корень WebApplicationContext через ContextLoaderListener
или ContextLoaderServlet
разница между ContextLoaderListener и ContextLoaderServlet
Но мне нужно знать разницу, и когда его использовать?
The javadoc для ContextLoaderServlet говорит все:
Обратите внимание, что этот класс был устаревшим для контейнеров, реализующих Servlet API 2.4 или выше, в пользу ContextLoaderListener.
По-видимому, до Servlet API 2.4 порядок, в котором инициализируются прослушиватели и сервлеты, не указан в спецификации. Поэтому, чтобы контекст Spring правильно загружался перед любыми другими сервлетами в Servlet 2.3 и нижнем контейнере, вам нужно будет использовать ContextLoaderServlet и поместить его в качестве первого для загрузки при запуске. Ознакомьтесь с этой ссылкой для получения дополнительной информации.
Контекст загрузчик загружает конфигурационные файлы контекста ех (внутри 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>
Вопрос был о '' ContextLoadListener' против ContextLoadServlet', оба из которых называют [ContextLoader] (HTTP: // документы .spring.io/spring-framework/docs/2.5.x/api/org/springframework/web/context/ContextLoader.html) - класс, ответственный за загрузку файлов конфигурации контекста. Ответ лаза более прямо на исходный вопрос оп. – Tung