java处理多个用户在web应用程序中更新同一表单
假设用户A打开了一个包含填充数据的表单
当用户A修改表单数据时,用户B打开相同的表单,并为用户A填充数据
然后,当用户B对数据进行修改时,用户A点击提交更新记录的表单
因此,现在当用户B完成更新表单并单击提交按钮时,会显示一条警告消息,表明在他对数据进行修改时,该记录已被修改,以便他可以再次重新加载表单
我想这是最好的解决方案(警告信息)在用户的角度为这种情况下,对吗?那么如何在后端实现这一点呢
你可以在下面搜索框中键入要查询的问题!
假设用户A打开了一个包含填充数据的表单
当用户A修改表单数据时,用户B打开相同的表单,并为用户A填充数据
然后,当用户B对数据进行修改时,用户A点击提交更新记录的表单
因此,现在当用户B完成更新表单并单击提交按钮时,会显示一条警告消息,表明在他对数据进行修改时,该记录已被修改,以便他可以再次重新加载表单
我想这是最好的解决方案(警告信息)在用户的角度为这种情况下,对吗?那么如何在后端实现这一点呢
# 1 楼答案
这可能是最好的解决方案,但肯定不是唯一的
当用户输入数据时(无需点击提交),可以实时更新表单中的数据。这样,看到同一文档的其他用户可以看到其他人在做什么,有点像谷歌文档
有了WebSocket,实现起来就不那么难了Here这是一个主要用于客户端脚本编写的教程,还有一些指向一些后端模块的链接。如果这些都不能满足你的后端需求,我相信如果你在谷歌上搜索的话,一定会有一个模块和一些你喜欢的语言的示例代码
# 2 楼答案
如果您使用的是JPA/Hibernate,您可以看到脏检查标志是否为true
# 3 楼答案
我建议您在
database
中维护version
文档(表单数据)。因此,在从数据库获取信息时,您可以读取版本值,在提交时只需验证并增加它因此,在你的情况下,下面将发生
这是一种乐观的锁定
见:-Optimistic Concurrency Control