我正在开发简单的 servlet 项目(在 eclipse 上)。 该代码适用于临时目录和 tmp 文件。 我的临时文件目录称为“tmp”,它位于我项目的 WebContent 目录中。
我想知道 - 如何获取“tmp”目录中文件的路径(然后我将其设置为属性并将其转发到负责输出的jsp)。
更新: 当我从该文件夹打开静态文件时 - 没问题。 但是动态创建的文件 - 它说的是: 请求的资源(/ASCIIART/tmp/res5252907236669575469.txt)不可用
最佳答案
事实上,你不应该这样做。我更喜欢 war 文件之外的文件系统位置。
原因是如果服务器重新启动(可能频繁或偶尔)或者您取消部署应用程序,tmp 中的所有文件实际上都会消失。这就是为什么您应该使用文件系统位置,例如 C:\appname\files
。
此方法的困难在于,容器/服务器无法自动处理您访问这些文件的请求。
但这种方法的优点是默认安全性,即没有人可以使用简单的 get 请求访问文件。
你可以BalusC file Servlet使用简单的 get 请求从本地文件系统获取文件。
此外,您可以将新文件路径保存到数据库中,并在需要时从该路径读取文件。
关于java - 在 Web 应用程序中动态保存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37281344/