Spring MVC 中的不同上下文如何工作?
How do the different contexts in Spring MVC work?
我的 Spring MVC Webapp 有以下配置。我想从概念上知道 servlet-context.xml 中的 contextConfigLocation(它是 appServlet 的 conf)和其他文件安全性、tiles 之间的区别...我不明白它是如何工作的,因为如果我将我的 tiles-context.xml 配置放在 servlet-context 中,该应用程序可以正常工作,而在另一种情况下则不能,但安全性正常。这个文件中的 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>
看看
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.
上配置多个独立上下文的方式
我的 Spring MVC Webapp 有以下配置。我想从概念上知道 servlet-context.xml 中的 contextConfigLocation(它是 appServlet 的 conf)和其他文件安全性、tiles 之间的区别...我不明白它是如何工作的,因为如果我将我的 tiles-context.xml 配置放在 servlet-context 中,该应用程序可以正常工作,而在另一种情况下则不能,但安全性正常。这个文件中的 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>
看看
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.
上配置多个独立上下文的方式