You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring MVC及Java Web应用中web.xml的<absolute-ordering>标签作用是什么?

<absolute-ordering>标签在web.xml中的作用

该标签是Servlet 3.0及以上版本规范新增的配置项,适用于所有符合该规范的普通Java Web项目、Spring MVC项目,核心作用是控制Servlet容器启动时,classpath下各jar包中META-INF/web-fragment.xml配置片段的加载规则。

具体作用

  • 解决默认加载顺序不稳定问题:未配置该标签时,Servlet容器会随机扫描加载所有jar包中的web-fragment配置,极易因加载顺序异常导致过滤器链顺序错误、组件初始化失败等问题,Spring MVC项目中常见的表现为字符编码不生效、请求上下文获取失败等。
  • 强制指定绝对加载顺序:在标签内部通过<name>标签指定web-fragment的名称后,容器会严格按照列表顺序加载对应配置,所有未出现在列表中的web-fragment配置会被直接忽略,不会生效。
  • 空标签<absolute-ordering/>的特殊作用:如果直接配置空的该标签,代表容器会屏蔽所有第三方jar包自带的web-fragment配置,仅加载当前项目自身web.xml中定义的配置,适合需要完全自主管控所有Web层配置的场景。

配置示例

<absolute-ordering>
  <!-- 优先加载Spring MVC自带的web-fragment -->
  <name>spring_web</name>
  <!-- 再加载自定义业务模块的web-fragment -->
  <name>biz_fragment</name>
</absolute-ordering>

Spring MVC场景注意事项

Spring MVC的spring-web依赖包默认自带名称为spring_web的web-fragment配置,内部已经自动注册了CharacterEncodingFilter、RequestContextListener等基础组件。如果配置<absolute-ordering>时没有将spring_web加入列表,这些默认组件不会生效,需要你手动在web.xml中自行配置。

内容的提问来源于stack exchange,提问作者javaway

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:06:03