【问题标题】:Creating a storage for images directly in tomcat folder (Java)直接在 tomcat 文件夹中创建图像存储(Java)
【发布时间】:2020-03-04 11:44:55
【问题描述】:

我在网上和这里进行了搜索,但找不到这个相当简单的问题的确切答案。我正在使用 Java+MySQL+HTML 和 CSS。

我创建了一个 webapp,在这个 webapp 中,用户可以将照片路径上传到数据库。同时,我正在创建一个完全在 tomcat 之外的文件夹,以便将插入的图像复制到那里。该文件夹在我的桌面上,就像我在本地主机上一样,但我想让服务器上的存储不在我的桌面上。

检查 stackoverflow 后,我发现将照片/图像存储在 tomcats webapp/AppName 文件夹中是不好的,因为这会在重新部署时一直覆盖图像,而我不想这样做。

我的 tomcat 文件夹在桌面上。我可以在此处创建一个文件夹来存储此特定应用的图像吗:

\Desktop\ApacheTomcat\apache-tomcat-9.0.24\?

该文件夹将被称为 TripAppImages,如 \Desktop\ApacheTomcat\apache-tomcat-9.0.24\TripAppImages,除了所有的 tomcats 之外,还有其他文件夹,如 bin、conf 等。我还将使用这个文件夹来显示图像用户插入的,在 html 页面中返回给他。

编辑:好的,我终于从 BalusC 的how to create a folder in tomcat webserver using java program? 收到了一条消息:

“请注意,您不应将文件存储在扩展的 WAR 文件夹中,否则每次重新部署 webapp 时它们都会丢失。将它们存储在 Tomcat 的 /webapps 文件夹之外的固定路径中。”

我相信这意味着我可以像 \Desktop\ApacheTomcat\apache-tomcat-9.0.24\TripAppImages 这样存储图像。只要它们不在 webapp 文件夹中,就意味着它们不会被覆盖。

【问题讨论】:

  • 你应该避免的 tomcat 文件夹是 tempwebappswork,以及你在 webapp 中的应用程序文件夹并且可以工作,因为这些可以被部署或清理删除/替换。但唯一能阻止您创建像 `\Desktop\ApacheTomcat\apache-tomcat-9.0.24\chocolate\strawberry\icecream` 这样的文件夹并将所有图像放在那里的只是组织、模式和您的公司/IT。政策。
  • 酷,我想这就是我需要的,谢谢!如果你把它写成答案,我会给你代表!

标签: java html tomcat containers storage


【解决方案1】:

您应该避免的唯一文件夹是tempwebappwork 及其子文件夹,因为是的,这些文件夹可以在部署和清理期间替换或删除其内容,可以考虑 tomcat 中的所有其他文件夹作为“只是一个文件夹”,如果你不修改它的内容,你可以使用你想要的方式。当然,将视频存储在Tomcat\bin 中当然是不正常或不标准的,但是如果您不触摸那里的原始文件,则可以这样做。

所以从技术上讲,您可以创建一个像\Desktop\ApacheTomcat\apache-tomcat-9.0.24\icecream 这样的文件夹并将图像放在那里,它不会被部署删除或替换。

如果只是为了你,临时或不是production,只要避开开头提到的三个文件夹就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 2019-09-21
    相关资源
    最近更新 更多