我必须编写一个让用户创建和修改文件的webapp。
这些文件将存储在服务器上。此应用程序中主要有两个页面:第一个列出了允许用户查看的文件。用户单击此列表中的一个项目:这可以让他转到第二页,在那里他可以编辑该文件。
我的问题很简单:我想确保您在第一页(每个文件的列表)中看不到其他用户当前正在修改的文件(在第二页中)。该应用程序使用Struts 1在Java EE中(我没有做出决定)。
我考虑过使用静态List,让我注册当前打开的每个文件;当用户单击并编辑文件时,我会在列表中放置一个文件。在理想的世界中,当用户保存他的作品或返回列表时,我会从列表中删除该文件。但是:
你会以什么方式解决这个问题?
答案 0 :(得分:3)
线程安全很容易添加到该场景中。更重要的问题是,一旦用户编辑文件消失,关闭浏览器,烧毁他的房子或其他什么,文件需要自动解锁。文件的自动释放,以及定期从浏览器发送的某种刷新命令,可以解决这个问题。
答案 1 :(得分:0)
okey你可以在数据库中保留一个表包含当前打开的文件进行编辑,并在第二页中使用javascript来跟踪用户是否正在编辑页面,即从键盘写入,如果不等待一段时间再制作一个调用服务器删除文件并将用户重定向到第一页我希望这会对你有帮助吗?