我正在开发一个java web软件与jsf在一个团队。我们不希望使用数据库,但希望通过文件系统上的简单文件实现持久性。请不要问为什么,不要说这是愚蠢的,因为在大多数情况下这是愚蠢的。
我们真的不能说D:/data
或/home/user/data
是存放数据的地方,因为可能有人使用windows, mac或linux。
该标准不提供对文件系统中一个web应用程序可以对任意文件进行读写访问的位置的访问。
但是,您可以指定一个位置,并通过系统属性或属性文件传递该位置。
如果您只是想在会话作用域中使用用户信息,那么请考虑在会话中放置可序列化的对象,并让容器来管理它。
您要在服务器端还是客户端保存文件?
如果是服务器端,那么你就可以控制操作系统(当然,除非你将应用服务器部署到每个用户,他们将在本地运行……),但我认为你的问题的方式是建议将数据存储在客户端。在这种情况下,你可能需要使用cookie,只要你不存储敏感数据。
几点建议:
-
如果需要存储的数据足够小,可以在cookie中存储
-
提示用户输入文件。如果你不想每次都请求一个新的/现有的文件,把路径存储在cookie中。
-
尝试访问unix, mac和windows格式的主目录,看看哪一个工作
我想说,如果1不能工作,你应该使用2,因为你真的不应该在用户不知情的情况下写入用户的驱动器(尤其是从applet)