我的Spring MVC Webapp有以下配置。我想在概念上知道servlet-context.xml中的contextConfigLocation(它是appServlet的conf)与其他文件安全性,tile之间的区别是什么...我不明白它是如何工作的,因为如果我放应用程序在servlet-context中的tiles-context.xml配置,在其他情况下为no,但安全性正常。这个文件中的bean也不在appServlet容器中?是否有不止一个上下文?
<!-- 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>
答案 0 :(得分:1)
看看
Spring root application context and servlet context confusion
What is the difference between ApplicationContext and WebApplicationContext in Spring MVC?
关于根上下文和servlet上下文的区别。
您可以使用以下配置定义多个servlet上下文
<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模式为/ rest / *时,可以访问上面的上下文。这是在spring上配置多个单独的上下文的方式。