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

Servlet已触发但无法找到指定HTML文件的问题求助

问题排查与解决方案

可能的原因及解决方法:

  • 相对路径错误
    你当前使用的getRequestDispatcher("carInventory.html")是相对Servlet所在路径的写法,你的Servlet映射路径是/car-types,所以forward会尝试查找/car-types/carInventory.html,但你的HTML文件实际在webapp根目录。
    解决:改用绝对路径,修改代码为:

    RequestDispatcher view = request.getRequestDispatcher("/carInventory.html");
    
  • RESTEasy特性拦截静态资源请求
    你启用了restfulWS-3.0特性,RESTEasy可能会接管所有请求的路由逻辑,导致静态资源的forward请求被错误识别为REST资源,从而抛出找不到资源的错误。
    解决:可以在server.xml中添加静态资源配置,明确指定静态资源的处理规则,示例:

    <webApplication id="OpenLibertyExperiments" location="OpenLibertyExperiments.war" name="OpenLibertyExperiments">
        <staticContent id="static-content">
            <fileset dir="${server.config.dir}/apps/OpenLibertyExperiments/webapp" includes="*.html"/>
        </staticContent>
    </webApplication>
    

    同时检查是否存在自定义JAX-RS应用类(如继承Application的类),若其配置了过于宽泛的路径映射,也可能覆盖静态资源的访问逻辑。

  • HTML文件实际位置不符
    确认carInventory.html确实位于webapp的根目录下,而非子目录(比如webapp/html/);同时检查打包后的war包中是否包含该文件,避免编译打包过程中遗漏静态资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:50:25