2011-02-07 2 views

ответ

12

The javadoc для ContextLoaderServlet говорит все:

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

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

2

Контекст загрузчик загружает конфигурационные файлы контекста ех (внутри 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> 
+0

Вопрос был о '' ContextLoadListener' против ContextLoadServlet', оба из которых называют [ContextLoader] (HTTP: // документы .spring.io/spring-framework/docs/2.5.x/api/org/springframework/web/context/ContextLoader.html) - класс, ответственный за загрузку файлов конфигурации контекста. Ответ лаза более прямо на исходный вопрос оп. – Tung