从 Java webapp 子目录提供静态文件

Serve static files from Java webapp subdirectory

我有一个 Java webapp (RESTEasy) 组织如下:

src/main
  |- java/
  |- webapp/
    |- WEB-INF/
      |- web.xml
    |- public/
      |- <compiled static files>

public 文件夹被我的构建链填充了静态文件(index.html、编译的 js、css 和资源)。构建 WAR 存档时,我可以访问 /public/index.html 下的静态文件。

有没有办法直接从根 (/index.html) 为我的静态文件提供服务?我知道我可以直接将它们放在我的 webapp 文件夹中,但是由于我的构建链和项目结构,我想避免这种情况。

通常,容器允许您指定文档根目录。这意味着您可以在任何您想要的地方拥有类似结构的 Web 应用程序。但是,你不能拥有你想要的东西。因为,它不是 Web 应用程序结构。

一些容器还允许您指定文档库。像 Tomcat for Ex,你可以在 server.xml

中指定
<Context docBase="/path/to/files" path="/files" />

一种解决方法是添加一个过滤器,将 "public" 添加到所有网址。