【发布时间】:2015-05-27 23:58:18
【问题描述】:
我正在使用 tomcat7 并且有一个需要在 ROOT 下部署的小型 Java 应用程序。造成这种情况的原因与客户端此时无法指定 webapp 的正确上下文路径有关。
我在这个 webapp 中有一个 index.html,我的问题是当我在 webapp 名称下部署应用程序 - ${catalina_home}/mywebapp - 当我导航到 http://localhost:8080/mywebapp 时,index.html 呈现没有问题。
但是,当我在 ROOT - ${catalina_home}/ROOT 下部署它时 - 当我导航到 http://localhost:8080/ 时,里面的 index.html 不会呈现。错误是 404 未找到。这与覆盖tomcat的默认页面有什么关系吗?
我的 web.xml:
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/</param-value>
</context-param>
...
<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
...
有人能解释一下为什么会这样吗?
提前致谢。
更新:我在这个 stackoverflow Display html page in tomcat from maven RESTEasy webapp 中看到问题可能是我的过滤器说 /* 下的任何内容都应该转到 servlet。我尝试为 .html 页面设置一个默认 servlet,但这还没有帮助...
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
【问题讨论】:
标签: java tomcat servlets web-deployment