Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 保存与不带数据库的webapplication关联的数据_File_Web Applications_Tomcat_Servlet Container - Fatal编程技术网

File 保存与不带数据库的webapplication关联的数据

File 保存与不带数据库的webapplication关联的数据,file,web-applications,tomcat,servlet-container,File,Web Applications,Tomcat,Servlet Container,我的任务是在WebApplication中保存并在以后读取文件中的任意数据。我不能使用硬编码的系统路径,因为同一台服务器上可能有多个我的webapp实例。我有一些限制,不能使用数据库来管理这个。 因此,这里有一个问题:是否有任何方法可以使用servlet容器api保存与我的webapplication实例关联的任意数据。我使用Tomcat 7,如果需要,可以依赖它。您可以这样做 在您的web应用程序下创建一个文件夹我们称之为webapp data,将其置于web-INF文件夹之上 要访问此路径,

我的任务是在WebApplication中保存并在以后读取文件中的任意数据。我不能使用硬编码的系统路径,因为同一台服务器上可能有多个我的webapp实例。我有一些限制,不能使用数据库来管理这个。
因此,这里有一个问题:是否有任何方法可以使用servlet容器api保存与我的webapplication实例关联的任意数据。我使用Tomcat 7,如果需要,可以依赖它。

您可以这样做

  • 在您的web应用程序下创建一个文件夹我们称之为webapp data,将其置于web-INF文件夹之上
  • 要访问此路径,可以执行以下操作
  • String outputFolder=getServlet().getServletContext().getRealPath(“webapp数据”)
  • 尽管您正在服务器/jvm上运行同一web应用的多个实例,但不能为所有这些web应用使用相同的上下文名称
  • 创建一个新文件,如名称字符串fileName=getServlet().getServletContext().getServletContextName()
  • 字符串fullPath=outputFolder+File.pathSeparator+fileName+“.any扩展名”
  • 创建具有完整路径的文件并写入,它将是唯一的,并且将绑定到您部署的web应用的实例

  • 为什么没有数据库?您考虑过使用内存数据库吗?当然,您可以使用
    java.io
    访问文件系统,这不太好,但它可以工作。当涉及到集群解决方案时,会出现问题。