Rac*_*hel 10 java architecture spring
问题
如果我们有多个XML配置文件,DispatcherServlet如何工作,那么Spring Application Context如何加载它们并对它们起作用?
场景:
在我的例子中,我们有一个应用程序应该是全局的,应用程序应该具有AP{Asia-Pacific}, EM{Europ-Middleeast}, CA{Canada} and LA{Latin America}版本.
目前,我们有一个区域的应用程序EM,它有它的XML Configuration File i.e, em-servelt.xml,然后有通用web.xml文件,因为AP region我们有另一个ap-servlet.xml文件,顺便说一下,两个em-servlet.xml并且ap-servlet.xml file将具有相同的bean名称,但它们将指向不同包中的控制器,所以对于例如,em将指向类似的东西,com.em.DomainController而ap将指向com.ap.DomainController.
所以我的问题是
如何将请求映射到不同的控制器以及如何识别请求,以便它应该从ap-servlet.xml或em-servlet.xml读取?
我希望能够清楚地陈述我的问题.
Chi*_*ang 26
该web.xml文件可以配置多个DispatcherServlet实例,每个实例都有自己的配置.每个DispatcherServlet实例都WebApplicationContext与其他DispatcherServlet实例分开配置,因此您可以使用相同的bean名称而不会影响其他应用程序上下文.
<!-- configured by WEB-INF/ap-servlet.xml -->
<servlet>
<servlet-name>ap</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- configured by WEB-INF/em-servlet.xml -->
<servlet>
<servlet-name>em</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
Run Code Online (Sandbox Code Playgroud)
您还必须配置web.xml将请求映射到适当的DispatcherServlet.例如,每个区域可以具有不同的URL路径.
<servlet-mapping>
<servlet-name>ap</servlet-name>
<url-pattern>/ap/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>em</servlet-name>
<url-pattern>/em/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12670 次 |
| 最近记录: |