Java 没有数据库web思想的持久性

Java 没有数据库web思想的持久性,java,jsp,jsf,tomcat,web,Java,Jsp,Jsf,Tomcat,Web,我正在团队中使用jsf开发java web软件。我们不想使用数据库,但希望通过文件系统上的简单文件实现持久化。请不要问为什么,也不要说这很愚蠢,因为在大多数情况下都是如此 我们不能说像D:/data或/home/user/data这样的东西是放置数据的地方,因为可能有人在使用windows、mac或linux 是否有一些通过应用程序服务器保存文件的标准方法,可以在重新启动甚至重新部署应用程序、更新服务器等情况下保存文件—真正的持久性?如果没有,是否有tomcat解决方案?该标准不提供对文件系统中

我正在团队中使用jsf开发java web软件。我们不想使用数据库,但希望通过文件系统上的简单文件实现持久化。请不要问为什么,也不要说这很愚蠢,因为在大多数情况下都是如此

我们不能说像
D:/data
/home/user/data
这样的东西是放置数据的地方,因为可能有人在使用windows、mac或linux


是否有一些通过应用程序服务器保存文件的标准方法,可以在重新启动甚至重新部署应用程序、更新服务器等情况下保存文件—真正的持久性?如果没有,是否有tomcat解决方案?

该标准不提供对文件系统中web应用程序可以对任意文件进行读/写访问的位置的访问

但是,您可以指定一个位置,并通过系统属性或属性文件传入该位置


如果您只想在会话范围内提供用户信息,则考虑将可序列化对象放在会话中,并让容器管理它。

< P>标准不提供对文件系统中的位置的访问,其中Web应用程序可以对任意文件进行读/写访问。 但是,您可以指定一个位置,并通过系统属性或属性文件传入该位置


如果您只想在会话范围内提供用户信息,那么考虑将可序列化对象放在会话中并让容器管理它。

< p>您试图在服务器端或客户端保存文件?


如果是服务器端,那么您可以控制操作系统(当然,除非您将应用程序服务器部署到每个用户,并且他们将在本地运行应用程序服务器…),但我回答您问题的方式是,我认为您建议在客户端存储数据。在这种情况下,您可能希望使用cookie,只要您没有存储敏感数据。

您是在服务器端还是客户端保存文件

如果是服务器端,那么您可以控制操作系统(当然,除非您将应用程序服务器部署到每个用户,并且他们将在本地运行应用程序服务器…),但我回答您问题的方式是,我认为您建议在客户端存储数据。在这种情况下,只要不存储敏感数据,您可能需要使用cookie。

一些建议:

  • 如果需要存储的数据足够小,请在cookie中进行存储

  • 提示用户输入文件。如果不希望每次都请求一个新的/现有的文件,请将路径存储在cookie中

  • 尝试访问unix、mac和windows格式的主目录,看看哪种格式有效

  • 我想说,如果1不起作用,你应该使用2,因为你真的不应该在用户不知情的情况下(特别是从小程序)写入用户的驱动器。

    一些建议:

  • 如果需要存储的数据足够小,请在cookie中进行存储

  • 提示用户输入文件。如果不希望每次都请求一个新的/现有的文件,请将路径存储在cookie中

  • 尝试访问unix、mac和windows格式的主目录,看看哪种格式有效


  • <>我会说,如果1不起作用,你应该使用2,因为你不应该在没有知识的情况下给用户的驱动器(尤其是applet)写。它只允许使用JDBC、JPA等进行DB交互。@Franz,你不能让用户提供文件系统路径吗。如果你已经要求用户下载并部署你的应用程序(我的假设),那么当然你也可以让他们配置应用程序。或者,您可以在任何系统中访问环境变量,利用它。您是否考虑了嵌入式数据库,如JavaDB、H2等?它只允许使用JDBC、JPA等进行DB交互。@Franz,你不能让用户提供文件系统路径吗。如果你已经要求用户下载并部署你的应用程序(我的假设),那么当然你也可以让他们配置应用程序。或者,您可以访问任何系统中的环境变量,并利用该变量。