java - 在 ROOT 下部署 webapp - index.html 不显示

标签 java tomcat servlets web-deployment

我正在使用 tomcat7 并且有一个小型 Java 应用程序需要部署在 ROOT 下。其原因与客户端此时无法指定 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>

...

谁能解释一下为什么会这样?

提前致谢。


更新:我在这个计算器中看到 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>

最佳答案

如何以 ROOT 身​​份部署应用程序?如果打包为war文件,要以ROOT方式部署,将war文件改为ROOT.war,ROOT文件夹下有index.html。还要检查 WEB-INF 下的 web.xml 以将欢迎页面设置为 index.html,如下所示:

<welcome-file-list>
<welcome-file>
    index.html
</welcome-file>
</welcome-file-list>

关于java - 在 ROOT 下部署 webapp - index.html 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30495075/

相关文章:

java - servlet 中后台的路径

javascript - 将值从 Servlet 传递到 JSP 中的 onload JavaScript 函数

java - 制作 ActionListener 时遇到问题

java - 如果应用程序中的某个元素发生错误,如何继续执行?

tomcat - 用于 RESTful 服务的 Jetty vs Tomcat vs Websphere

tomcat - 在 Eclipse WTP 中使用 Tomcat 和 Serve 模块更改类文件时停止应用程序重启而不启用发布

jsp - JasperReport 查看器 JSP WebApp 错误

java - Android:应用程序从旧的 adt-bundle 迁移到最新的 android studio 后运行缓慢

java - 套接字编程。真的那么复杂吗?

java - 如何解决 javax.net.ssl.SSLHandshakeException 错误?