当前位置: 首页 > 面试题库 >

如果我们有多个XML配置文件,DispatcherServlet将如何工作?

吕钧
2023-03-14
问题内容

问题

如果我们有多个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.xmlap-servlet.xml file将有相同的bean的名字,但他们会指向不同封装控制器,所以例如,em将指向类似,com.em.DomainController而ap将指向com.ap.DomainController

所以我的问题是

请求如何映射到不同的控制器,以及如何识别请求,以便应从ap-servlet.xml或em-servlet.xml中读取请求?

我希望能够清楚地陈述我的问题。


问题答案:

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>

您还必须配置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>


 类似资料:
  • 问题内容: 我有一个XML文件 我必须将此XML转换为CSV文件。我听说我们可以使用XSLT进行此类操作。如何在Java中(带有/不带有XSLT)执行此操作? 问题答案: 用伪代码: 这个快速的小循环将在每行的末尾写一个逗号,但是我敢肯定您可以弄清楚如何删除它。 为了实际解析XML,我建议使用JDOM。它具有非常直观的API。

  • 这是我的pom。xml文件- 我正在尝试运行我的项目异常如下- 请帮我解决这个问题。

  • 我知道PKCS#7=证书+可选原始数据+PKCS#1格式的签名

  • 我是新的詹金斯,我有一个詹金斯的工作,有两个配置文件。我想定期安排这项工作,例如第一个配置文件运行在晚上8点,第二个在晚上10点。请指教。

  • 问题内容: 我正在使用selenium,并想为3个不同的脚本使用单独的firefox配置文件。这可能吗? 问题答案: 不确定如何执行脚本,但是在实例化对象时,可以指定a 作为参数。这是通过创建一个对象(下面的示例)并提供目标配置文件的路径作为参数来完成的: 据我所知,您无法在实例化实例后修改配置文件(尽管我可能是错的- 如果您需要这样做,值得尝试:))。在这种情况下,您将在每个脚本中创建一个配置文

  • 我有两张POJO的员工和地址表,还有两张员工和地址表。我首先尝试在db中添加一个地址行,然后添加一个员工记录,引用前面添加的地址记录。只有当配置文件中有一个映射资源时,我才能添加地址记录。 我的主文件:'包many2one; 我的员工POJO: 我的地址文件 配置文件: 映射文件: 我的任务是在数据库中添加一个地址记录,然后使用带有地址引用的employee构造函数添加一个employee记录。当