如何在servlet中处理浏览器关闭事件

时间:2009-02-26 09:38:52

标签: java

我的网页上有html页面 应用。该页面由客户端锁定,并由同一客户端解锁。 如果客户忘记解锁或关闭浏览器,请按页面上的后退按钮,其他链接将始终锁定页面,无法解锁。如果忘记解锁,我需要在上述情况下解锁页面 感谢

2 个答案:

答案 0 :(得分:1)

指定锁定的超时。由于http是无状态的,你无法以“正常方式”观察客户端。

修改: 通过设置/观察一些bool标志,我在服务器端的每个客户端/锁定协议活动。 TimerTask定期观察该标志,如果false,则将标记设置为true,如果是false则将其锁定。

答案 1 :(得分:1)

我建议您考虑一种更适合您环境操作特性的设计。

不是在单独的事务中锁定和解锁(这是你现在拥有的),而是考虑一种乐观锁定形式 - 基本上,允许任何人访问数据,但如果他们在另一个用户提交了数据后提交修改修改相同的数据,拒绝并让用户有机会再次进行更改。

让用户/客户端明确锁定和解锁很容易编码,但很难使用(我们都非常关心用户的体验!)Cheerio。