当前位置: 首页 > 知识库问答 >
问题:

在根索引下部署webapp。html未显示

翟冯浩
2023-03-14

我正在使用tomcat7,并且有一个需要在ROOT下部署的小型Java应用程序。原因与客户端此时无法指定webapp的正确上下文路径有关。

我有一个索引。这个webapp中的html和我的问题是,当我在webapp名称${catalina\u home}/mywebapp(索引)下部署应用程序时。导航到时html呈现没有问题http://localhost:8080/mywebapp.

然而,当我将其部署在ROOT-${catalina\u home}/ROOT-索引下时。导航到时,内部html不会呈现http://localhost:8080/.错误为404未找到。这是否与覆盖tomcat的默认页面有关?

我的网站。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>

...

有人能解释一下为什么会这样吗?

提前谢谢。

更新:我在maven RESTEasy webapp的tomcat中的stackoverflow显示html页面中看到,问题可能是我的过滤器说/*下的任何内容都应该转到servlet。我尝试为设置默认servlet。html页面,但还没有看到帮助。。。

<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>

共有2个答案

云鸿达
2023-03-14

我在这里找到了答案-http://docs.jboss.org/resteasy/docs/3.0.2.Final/userguide/html_single/:

“将Resteasy作为Servlet运行的缺点是,您不能将.html和.jpeg等静态资源与JAX-RS服务位于同一路径中。Resteasy允许您作为过滤器运行。如果在请求的URL下找不到JAX-RS资源,Resteasy将委托回基本Servlet容器来解析URL。”

我创建了一个过滤器,可以为静态页面和常规REST资源提供服务。

刁璞
2023-03-14

如何将应用程序部署为ROOT?如果您打包为war文件,要部署为ROOT,请将war文件更改为ROOT. war并将index.html在ROOT文件夹下。另请检查WEB-INF下的web.xml以将welcom页面设置为index.html如下:

<welcome-file-list>
<welcome-file>
    index.html
</welcome-file>
</welcome-file-list>
 类似资料:
  • 我正在做一个基于野蝇群的项目。我目前遇到的问题是RESTEasy隐藏了我的index.html(和其他html文件),这些文件放在 /webapp下面,因为RESTEasy正在根级别监听。 我的主要应用程序: 我的一个资源: 问题是。如果我启动我的野蝇群应用程序并访问上面的一个restendpoint,一切都正常(例如http://localhost:8080/app/public/api/off

  • 我是一名Azure新手,试图以自动CI/CD方式安装WebApp。 如果我在CLI shell中登录,我可以通过 az webapp部署源配置--name${webapp_name}--资源组${RESOURCEGROUP_name}--插槽暂存--repo url${GIT_url}--分支${branch}--手动集成 我想使用Jenkins中的shell(不使用Azure插件)来实现这一点。

  • 我正在开发简单的JAX-WS WebService。我正在使用ANT构建脚本创建WAR文件。该文件在部署到Tomcat7服务器时,抛出以下异常,并出现如下部署错误。 JAXB 2.1 API是从bootstrap classloader加载的,但是这个RI(从jar:file:/d:/dreamsoln/server/apache-tomcat-7.0.29/webapps/webserviced

  • 知道如何在变化时重新部署html和jsp吗?

  • 这份文档将说明如何在网站的非根文件夹下通过 Apache/Nginx 部署 Seafile。 注意: 请先阅读 Nginx 下配置 Seahub 或者 Apache 下配置 Seahub. Nginx 下部署 首先更改 seahub_settings.py 中一些变量的值: SERVE_STATIC = False MEDIA_URL = '/seafmedia/' COMPRESS_URL =

  • 我在列出索引时遇到问题。my service worker获取事件中的html文档。因此,如果我打开一个新选项卡并转到我的开发服务器,我会在ServiceWorkerFetchEventListener中看到作为请求URL列出的文档。 这是输出 好的,一切按计划进行。但是当我刷新页面时,我看不到根请求或“/”作为索引。html。 我正在做什么。我已经在服务器上添加了一个中间件,以确保浏览器不会缓存