0

假设我想写入在我的 webapp 空间内创建的新文件。

一种方法是使用getServletContext().getRealPath("/")并使用该字符串在服务器上创建一个新文件。但是,我经常遇到不使用getServletContext().getRealPath("/").

有人可以让我知道在我的 web 应用程序中编写新文件的另一种方法吗?

非常感谢。

4

1 回答 1

1

有一些配置属性,其中包含 webapp 和 Web 服务器路径之外的目录的绝对路径,从配置属性中读取此路径,然后写入此目录。

要从该目录提供文件,请编写一个以该文件的名称或 ID 作为参数的 servlet,从目录中读取文件,并将其内容发送到响应。

这将

  • 即使应用程序部署为 war 文件并且从未解压缩到文件系统也可以工作
  • 允许您重新部署应用程序或服务器的下一个版本,而无需删除所有上传/创建的文件
  • 允许您在上传/创建的文件上添加您想要的任何控件,而不是让所有人都可以使用它们

简而言之,将这些文件视为数据,存储在恰好是文件系统而不是 SQL 数据库的数据库中。

于 2013-07-09T13:15:47.330 回答