tomcat 不显示图片

tomcat not displaying images

这是一个jhipster项目(spring boot,angularjs)。 图像未显示在生产服务器上的产品配置文件中。 该应用程序作为 ROOT 安装在 tomcat 8.

在 dist 文件夹中,映像名称在部署期间会自动更改,在映像名称中添加一些随机数字前缀和一个点 (869cf845.hipster.jpg)。

删除前缀并更正路径引用以匹配它后,图像开始显示 (hipster.jpg)。

我希望图像自动显示。有人可以帮忙吗?

请尝试提供更多信息,以便人们可以立即为您提供帮助。你的 dist 可能是由一个自动过程产生的,我猜是一个 ant 脚本。您发现的随机前缀是通过此脚本添加的,此过程称为 'image revving'。它主要用于用户可以从缓存图像的服务器下载更新的图像。但是你必须小心,因为如果你在每次部署时修改图像(没有更新),用户将不得不下载所有图像,即使它们没有更新。换句话说,您将失去缓存机制提供的好处。

现在,如果您在 ant 脚本中启用了 revving,您还可以使用以下设置在 css 和 html 文件中启用路径重命名:

css.rev.images = true
html.rev.images = false

您可以在https://github.com/h5bp/ant-build-script/commit/1dd6e816a3363f22eb597890accedd0b218c7b65

中看到图像加速实现的提交

但是,您可以简单地将所有图像作为应用程序外部文件夹中的静态内容提供。这样,图像将不会参与构建过程,如果有任何图像更新,您将在此文件夹中手动更新它。要了解有关此方法的更多信息,一个很好的来源是 https://www.moreofless.co.uk/static-content-web-pages-images-tomcat-outside-war/

在 jhipster 项目中,仅将您自己的 html 文件保存在 scripts/entity/ 文件夹中。 在部署期间,脚本中的任何 html 文件将由 grunt 任务修复,以将图像的名称更改为 869cf845.hipster.jpg 而不是 hipster.jpg.

这将解决问题。