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

如何在Jetty的web.xml中映射URL路径到指定文件系统资源?

在Jetty 9.4.41中通过web.xml映射特定URL到静态资源

你可以通过两种纯XML配置的方式实现需求,无需编写自定义Servlet:

方法一:使用Jetty DefaultServlet配置参数

通过给DefaultServlet的自定义实例添加初始化参数,强制它返回指定的静态文件:

<servlet>
    <servlet-name>MySpecificResource</servlet-name>
    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
    <!-- 指定资源基础路径为WAR包根目录 -->
    <init-param>
        <param-name>resourceBase</param-name>
        <param-value>/</param-value>
    </init-param>
    <!-- 覆盖请求路径,直接指向目标静态文件 -->
    <init-param>
        <param-name>pathInfoOverride</param-name>
        <param-value>/static/file.html</param-value>
    </init-param>
    <!-- 确保Servlet在启动时加载 -->
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>MySpecificResource</servlet-name>
    <url-pattern>/the-url</url-pattern>
</servlet-mapping>

方法二:使用<jsp-file>标签简化配置

Jetty的JSP Servlet支持直接映射到静态HTML文件,配置更简洁:

<servlet>
    <servlet-name>MySpecificResource</servlet-name>
    <!-- 直接指定目标静态文件的路径(相对于WAR根) -->
    <jsp-file>/static/file.html</jsp-file>
</servlet>

<servlet-mapping>
    <servlet-name>MySpecificResource</servlet-name>
    <url-pattern>/the-url</url-pattern>
</servlet-mapping>

两种方法都能实现/the-url请求直接返回WAR包内/static/file.html的内容,无需编写额外Java代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:45:54