【问题标题】:Saving a file with Spring MVC使用 Spring MVC 保存文件
【发布时间】:2012-08-05 19:47:36
【问题描述】:

我正在 Tomcat 容器中运行一个应用程序。用户单击一个链接,这最终会导致帮助类中的一个方法创建一个文件并将其保存到文件系统中。当从单元测试/eclipse 运行此代码时,它会将文件保存在应用程序根目录中,但当从浏览器/在 Tomcat 中运行时,文件存储在 Tomcat 的 bin 目录中。

如何找到应用程序根目录以便我可以选择从那里保存文件的位置?

  • 我需要以编程方式找到根目录,以便将其部署到其他运行 tomcat 的环境中。

谢谢

【问题讨论】:

  • 为什么不使用像 MongoDB 这样的面向文档的数据库?

标签: java spring tomcat spring-mvc


【解决方案1】:

您不应该依赖 Tomcat 安装的位置,并且您的应用程序不应该写入 Tomcat 安装文件夹,永远不要。对于在生产环境中运行 Tomcat 的用户来说,Tomcat 安装很可能是不可写的。

因此,仅使用完整(绝对)路径。

【讨论】:

  • 这个应用程序只是一个概念证明,可能会在其他开发人员的本地 tomcat 安装上运行。我理解为什么这对生产不利。我可能会在配置文件中放置一个绝对路径,以便开发人员可以对其进行编辑,以便他/她可以使用他们可以读取/写入的路径。
【解决方案2】:

为避免文件权限问题,您可能希望使用 System.getProperty("user.home") 来使用用户的主目录。这样,它将在环境和操作系统中始终如一地工作。

【讨论】:

  • 这看起来比我接受的答案更好,但我最终实施了另一个答案中的建议。不过感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多