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

2023-11-22

问题

如果我们有多个 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 and ap-servlet.xml file将具有相同的 bean 名称,但它们将指向不同包中的控制器,因此例如, em 将指向类似的东西com.em.DomainControllerap 将指向com.ap.DomainController.

所以我的问题是

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


The 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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果我们有多个 XML 配置文件,DispatcherServlet 如何工作? 的相关文章

随机推荐

  • 如何配置我的 iPhone 项目以使用单独的应用程序图标进行测试版

    我想要实现的是 我发送给 Beta 测试人员的构建中的应用程序图标与将提交审批的应用程序图标不同 这将使我和我的 Beta 测试人员能够轻松识别该应用程序是 Beta 版本 我不确定是否应该添加构建脚本来修改 info plist 并更改其
  • 如何将 Swift 结构作为参数传递给 Objective-C 方法

    我有一个接受类型参数的 Objective C 方法id我想向它传递一个 Swift 结构 ObjcClass m file implementation ObjcClass void addListener id listener Do
  • 在自定义活动设计器中将数据绑定到组合框

    我有一个自定义活动 有一个参数是一个字符串 但是 我不想让设计者输入任意字符串 而是希望向设计者提供一个带有选项列表的组合框 这些选项是动态的 并且从数据库加载到 List 集合中 我的问题是我不知道如何将设计器中的组合框绑定到此列表并将选
  • 通过网络读取和解析大型文本文件的最佳方法是什么?

    我遇到一个问题 需要我解析远程计算机上的多个日志文件 有一些并发症 1 该文件可能正在使用中 2 文件可能很大 100mb 3 每个条目可以是多行 为了解决使用中的问题 我需要先复制它 我目前正在将其直接从远程计算机复制到本地计算机 并在那
  • 如何在Python中的散点图上绘制一条线?

    我有两个数据向量 并将它们放入pyplot scatter 现在我想对这些数据绘制线性拟合 我该怎么做 我尝试过使用scikitlearn and np polyfit import numpy as np from numpy polyn
  • 对具有原始数字返回类型的方法的反思

    我目前正在开发一个小型框架来收集 OSGi 系统中的指标 它的核心是注释 Metric 它指示服务的给定方法可以在被请求时提供度量 例如数值 这些方法看起来像 Metric public int getQueueSize or Metric
  • maven没有找到类

    我继承了一个巨大的maven java项目 但无法编译它 mvn compile 它告诉我它找不到一个类 即使它就在本地仓库中 Failed to execute goal org codehaus enunciate maven enun
  • 如何在 Ruby 中实现抽象类

    我知道 Ruby 中没有抽象类的概念 但如果需要实施的话 我该如何实施呢 我尝试过这样的事情 class A def self new raise Doh You are trying to write Java in Ruby end e
  • 从wcf服务返回html

    我有一个网络服务 我需要从中返回一个包含 html 的字符串 此 html 是 Select 控件的标记 用于 jqGrid 搜索过滤器 例如
  • 计算函数返回值的最佳实践

    我经常用 C 语言构建函数来检查一些参数并返回错误代码 当我发现错误时停止值检查的最佳方法是什么 第一个例子 ErrorCode e myCheckFunction some params ErrorCode e error CHECK F
  • 以编程方式更改 R.String 的值

    您可以在 Android 程序中以编程方式更改 R string 的值吗 我需要提取一些 API 信息 例如电池状态 电池百分比 android 操作系统版本 并希望将其保存为 R string 值 我知道怎么读 String helloV
  • 如何通过简化 R 中的两个 SpatialPolygonsDataFrame 对象来创建新的多边形?

    假设我有两组形状文件 它们覆盖同一区域 并且经常但并不总是共享边界 例如美国各县和 PUMA 我想定义一个新的多边形规模 它使用 PUMA 和县作为原子构建块 即两者都不能分割 但我仍然希望有尽可能多的单位 这是一个玩具示例 library
  • 如何通过 ssh 执行 Bash 别名

    这就是我想做的 ssh andy
  • 为什么 -1>strlen(t) 在 C 中为真? [复制]

    这个问题在这里已经有答案了 在 VS2013 中处理这一小段代码 但由于某种原因它没有打印 似乎 1 gt strlen str 任何人都知道我做错了什么 char str abcd if 1
  • “gcc 链接”和“ld 链接”之间有什么关系?

    据说linux的加载器是 usr bin ld 但通常我们使用gcc g 来链接库和可执行文件 我们很少使用 ld 上次我手动使用 ld 是在学习linux汇编时 生成可执行文件的唯一方法是ld一个 o文件直接生成可执行文件 无需任何库 我
  • 如何使用 Javascript 中的“views.py”、Django 模板中的“”中的变量?

    当我使用 Django 模板渲染器渲染页面时 我可以传入一个包含各种值的字典变量 以便在页面中操作它们 myVar 有没有办法在 JavaScript 中访问相同的变量 也许使用DOM 我不知道Django如何使变量可访问 我希望能够使用查
  • Vagrant/VirtualBox/Apache2 奇怪的缓存行为

    我正在使用 Vagrant 来运行 Ubuntu 驱动的 VirtualBox 和 Apache2 除其他外 网络服务器还提供我的 vagrant 目录中的静态文件 这在大多数情况下都很有效 但是 当我更改共享文件夹上的图像并重新加载网站时
  • JVM 的 -XX:+StressLCM、-XX:+StressGCM 选项

    和一些人玩的时候jcstress代码中 我注意到两个对我来说非常新的参数 StressLCM and StressGCM 我要做的第一件事就是在源代码本身中搜索这些内容 虽然我找到了一些东西 但仍然不清楚它们是什么actually做 我真的
  • python3 - super() 在多重继承上的行为

    我知道 super 和多重继承已经在这里讨论过 但关于我在 python3 中的具体问题 我没有找到解决方案 假设我们有 usr bin env python3 class A object def init self super init
  • 如果我们有多个 XML 配置文件,DispatcherServlet 如何工作?

    问题 如果我们有多个 XML 配置文件 DispatcherServlet 如何工作 那么 Spring Application Context 如何加载它们并对其进行操作 设想 就我而言 我们有一个应该是全局的应用程序 即应用程序应该具有