我的Java JSP应用程序需要在Tomcat Web服务器上存储永久文件。目前,我将文件保存在系统的“/ temp”文件夹中。但是这个文件夹会不时被清除。此外,当前的解决方案是硬编码的,这使得它不太灵活(例如,当移动到另一个服务器时)。
我现在想在定义和访问此配置中的永久目录时有最佳做法。详细说明,定义app文件目录的最佳位置在哪里,以及如何从我的java应用程序中访问它?这种设置的目标是在(a)更新应用程序(即放置新的war文件),以及(b)从一个服务器移动到另一个服务器和OS(例如Unix,Windows,MacOS)时花费最少的努力。
到目前为止,我在这个主题上所做的研究表明,以下是解决方案(可能包括其他方面):
1。)在Tomcat安装目录中使用自定义子目录。
2.)在文件系统的单独目录中。
感谢您的建议!
答案 0 :(得分:1)
基本上,您正在以某些文件的形式创建“数据库”。在Java EE和servlet容器的世界中,唯一真正通用的方法是通过JNDI配置这样的资源。 Tomcat和其他容器没有“为webapps持久存储的地方”的概念。如果webapp需要持久存储,则需要通过JNDI或-D配置它,或者通过向其发布内容来告诉它。你可以借用任何惯例或标准练习。
您可以按照惯例选择文件系统路径名并记录该惯例(例如,Linux上的/ var / something,类似于Windows)。但是,你不一定会与其他任何人一致。