我的最新项目能够使用数据库中的信息生成文档。
所以我按需将文档模板复制到用户的临时文件夹中并进行修改。我这样做是因为每个模板在修改期间都必须可用。
之后,用户将通过我的网络应用程序的下载链接获得他的文档。
我的问题:是否有存储 webapp 数据的最佳实践?我认为温度会很好。但由于我必须自己删除数据,所以我想将其放在 tomcat webapp 文件夹中的 WAR 文件夹旁边。
我使用 Windows 2003 作为带有 Tomcat 的主机系统。我的项目使用 Grails、Java 和 Maven...不知道是否需要此信息。
Edit:
我问这个小问题的主要原因是...如果我负责创建/删除临时数据...在系统上使用临时文件夹仍然是一个好的做法吗?
我对此不太确定...
在 webapp 中存储(敏感)用户特定文件时,请确保将其存储在/WEB-INF
并通过访问它们Servlet
它(间接)检查登录的用户,否则万维网上的任何用户/黑客都可以访问它。优点是可以通过编程轻松访问它ServletContext#getResource()
or #getRealPath()
。缺点是每当您重新部署 Web 应用程序时它们都会丢失。
您还可以将它们存储在默认的临时文件夹中。优点是可以通过标准 API 访问它,例如File#createTempFile()
or System.getProperty("java.io.tmpdir")
。临时文件夹的缺点是操作系统控制的文件夹清理无法从 Java 控制,因此每当您关闭资源但稍后仍需要它时,您可能会面临丢失内容的风险。
您还可以将它们存储在 web 应用程序外部的固定文件夹中。它的优点是,每当您重新部署 Web 应用程序时,这些内容都不会丢失。缺点是您需要自己创建具有足够操作系统权限的文件夹,这可能不适用于第 3 方主机。
清理自己的临时资源当然属于您需要自己完成的任务。我不会认为这是一个问题。
只是超过优点/缺点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)