2015-07-14 2 views
2

У меня есть следующая конфигурация для моей Spring MVC Webapp. Я хотел бы концептуально понять, в чем разница между contextConfigLocation в servlet-context.xml (это конфиг для appServlet), а другие - безопасность файлов, плитки ... Я не понимаю, как это работает, потому что если я поставлю моя конфигурация tiles-context.xml в сервлет-контексте, приложение работает, а в другом случае нет, но безопасность работает исправно. Бобы в этих файлах также находятся в контейнере appServlet? Есть ли более одного контекста?Как работают разные контексты в Spring MVC?

<!-- DispatcherServlet Conf - Processes application requests --> 
<servlet> 
    <servlet-name>appServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath:servlet-context.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>appServlet</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 


<!-- Spring configuration files in XML --> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     classpath:security-context.xml 
     classpath:tiles-context.xml 
     ... 
    </param-value> 
</context-param> 
+1

Вы можете посмотреть эту ссылку ** http: //stackoverflow.com/questions/16860016/how-to-put-two-param-values-in-one-context-param-in-spring**. Аналогичный вопрос – tarik

ответ

1

Посмотрите на

Spring root application context and servlet context confusion

What is the difference between ApplicationContext and WebApplicationContext in Spring MVC?

разницы о контексте корневого и контекста сервлета.

Вы можете определить несколько контекст сервлета с конфигурацией, как следует

<servlet> 
<servlet-name>api-dispatcher</servlet-name> 
<servlet-class> 
    org.springframework.web.servlet.DispatcherServlet 
</servlet-class> 
<init-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/api-dispatcher-servlet.xml</param-value> 
</init-param> 
<load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
<servlet-name>api-dispatcher</servlet-name> 
<url-pattern>/rest/*</url-pattern> 

Выше контекста доступна, когда URL картина/отдых/*. Вот как настраивается несколько отдельных контекстов весной.

Смежные вопросы