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

添加CORS Filter至web.xml后出现实体引用错误,求排查原因

解决XML解析错误:「The entity name must immediately follow the '&' in the entity reference」

问题根源

这个错误是XML解析器处理web.xml时,遇到未转义的&字符导致的。XML规范要求&必须转义为&,否则解析器会将其当作实体引用的起始符,若后续没有合法的实体名称(如<、>),就会触发该报错。

排查与修复方案

结合你提供的CORS Filter配置,重点检查以下场景:

  • 多源配置错误:如果cors.allowed.origins配置了多个允许的源,错误地用&分隔(而非逗号),比如:
    <param-value>http://localhost:3000&http://localhost:8080</param-value>
    
    解决方式:
    1. 推荐用逗号分隔多个源(Tomcat的CorsFilter原生支持逗号分隔):
      <param-value>http://localhost:3000,http://localhost:8080</param-value>
      
    2. 若必须使用&,则转义为&amp;:
      <param-value>http://localhost:3000&amp;http://localhost:8080</param-value>
      
  • 其他参数中的未转义&:检查cors.exposed.headers或其他初始化参数值,确保所有&都已替换为&amp;。

验证配置合法性

你粘贴的代码片段本身是合法的,但要注意:XML文件中直接写<、>标签即可,不需要手动转义为&lt;、&gt;(你粘贴的代码是HTML转义后的格式,实际web.xml中不需要这么写)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:05:19