我们使用JSP和Servlet开发了一个Web应用程序。我们使用的服务器是Tomcat 7.我们雇用了一个带有“私有JVM”的主机(Daily Razor)来在生产级别启动应用程序。
现在,在我们的应用程序中,用户可以访问特定表单,在PC中浏览文件并将其上传到服务器。但我在那里有一个问题;存储这些文件的最佳位置是什么?主要有3种类型的文件,所以我们想将它们分类为“Office”,“Home”和“Other”,并为它们创建3个文件夹。但是在哪个主文件夹中应该制作这3个文件夹?
主要的重要性是这些文件不应该通过URL访问(因为任何人都可以获取它们),但Servlet可以。除此之外,位置(字符串)应保存在我们的MySQL数据库中,以便可以再次访问该文件而不会出现问题。
我们使用Netbeans IDE开发了应用程序,因此文件夹结构如下所示。
我期待你的回答。
答案 0 :(得分:2)
使用java属性指定应存储文件的目录,并在启动期间将其传递给tomcat。 此外,为每个用户分隔文件可能是个好主意。
可能的解决方案:
-Duser.data.export.dir=D:\users_export\directory
在您的java代码中,阅读属性
String property = System.getProperty("user.data.export.dir");
现在假设用户'A'
String userName = getCurrentUser();
Path userDirHome = Paths.get(property, userName, "Home");<br/>
现在使用userDirHome存储数据。
建议:将文件位置存储在数据库中时,请确保不存储完整路径,只存储相对路径,如“Home / myFile.txt”。
这将在稍后的时间点帮助您,当存储文件的目录发生任何变化时。