我无法确定我是否没有正确理解 Servlet 3.0 规范,或者 Tomcat 中是否存在错误。
这是我的情况。我有一个包含 jar 项目的 Web 应用程序。Web 应用程序使用 Jersey 2.9 定义了一组 REST 端点。jar 项目还定义了 REST 端点(也使用 Jersey 2.9),并且在 META-INF/resource 目录中具有静态内容。jar 中 META-INF 目录的结构如下所示:
META-INF
|- resources
|- test.html
|- testfolder
|- test2.html
我在 Tomcat 8.5.16 上运行它。当我运行它时,我得到以下结果:
- WAR REST 端点:成功
- JAR REST 端点:成功
- /test.html: 成功
- /testfolder/test2.html - 失败并出现 404
WAR 项目没有静态内容,所以我没有发生冲突。我检查了 WAR 中的 JAR 文件,它包含上面显示的结构。
关于为什么提供顶级 html 文件而不是文件夹中的文件的任何想法?