从 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" 添加到所有网址。
我有一个 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" 添加到所有网址。