【问题标题】:Unable to use resources in production mode with tomcat无法使用tomcat在生产模式下使用资源
【发布时间】:2014-04-21 22:38:07
【问题描述】:

我使用 GWT 开发了一个应用程序。它在开发模式下工作正常。另一方面,当部署时,所有资源都变得不可用。例如:

我有一张图片:

mydomain.com/images/myimage.png

但是当我部署应用程序时,图像 url 变为:

mydomain.com:8080/images/myimage.png

我已经检查过并且图像在那里(mydomain.com/images/myimage.png)问题是关于使用的端口。

我已经尝试了以下方法来访问我的资源:

<g:Image url="/images/myimage.png" />

<g:Image url="../images/myimage.png" />

两者都在开发模式下工作,但不适用于 tomcat 的生产环境。

我做错了什么?

我还将应用程序部署在 webapps 文件夹中,并将资源部署在 public_html 文件夹中。

谢谢

【问题讨论】:

    标签: java css tomcat gwt


    【解决方案1】:

    您的意思是 url="../images/myimage.png" 实际上是 url="./images/myimage.png" 还是您实际上将它们放在上面您使用它们的目录中?

    【讨论】:

      【解决方案2】:

      尝试为您的内部 URL 附加 HttpServletRequest#getContextPath

      url="${request.contextPath}/images/myimage.png"
      

      【讨论】:

      • 但是使用资源的css文件在客户端。
      • 当然可以。但我仍然不知道如何尝试你的答案。如何在客户端引用 request.contextPath?
      【解决方案3】:

      其实很简单。我只需要删除第一个栏:“images/myimage.png”得到以下结果:

      <g:Image url="images/myimage.png" />
      

      【讨论】:

      • '.' 供以后参考和 '..' 是相对 url 的一部分,使用“./images/myimage.png”也可以,'.'指当前工作目录,'..' 在当前工作目录正上方的目录中查找。我会查看您将来肯定会遇到的相关网址。干杯
      • @fe11e 我不知道。我也会尝试这个选项。谢谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      • 2014-06-01
      • 2013-08-14
      • 2012-11-10
      • 2019-08-15
      • 2022-10-30
      • 1970-01-01
      相关资源
      最近更新 更多