如何在用户直接关闭浏览器时跟踪注销活动

时间:2016-08-19 14:51:31

标签: java jsp session logout

我有基于jsp的网站,我在跟踪mysql数据库中的登录时间。 我也在跟踪mysql数据库中的注销时间。 但注销时间仅在用户通过适当的方法注销时才有效,即点击注销按钮。 如果用户直接关闭浏览器,那么我无法跟踪注销时间。 请帮助。

2 个答案:

答案 0 :(得分:0)

这种情况的典型方法是使用Heart-beat监视器。简单的想法是:从客户端代码(通过AJAX)向服务器发送每个特定时间段请求。当下一个请求无法到达时,您将了解该用户已关闭其浏览器。

您也可以在此处阅读:http://softwareas.com/heartbeat-pattern-supporting-library/

答案 1 :(得分:0)

时间跟踪中的错误标准是什么?

如果最长可达30分钟,那么您可以使用HttpSessionBindingListener进行操作。

否则,如果它最多不超过5分钟,那么你可以做的就是对一个单独的servlet进行ajax调用,这将更新上次请求的数据库时间。如果您在数据库中更新上次请求的接收时间,那么您甚至不需要检查先前的请求和当前请求。

For example,如果你选择第二个选项并且我在凌晨12:05打开一个页面并保持打开状态直到12:19然后关闭我的浏览器然后在你的数据库中我的最后一个请求时间将是12:15如果您每隔5分钟从客户端呼叫您的服务器,请使用AM。他可以解决你的问题。

有些公司使用某种类似的方式使用不同的登录方式,即提取一些数据而不是更新某些数据,以保持会话在一天之内完成,即使您只是保持浏览器打开,甚至在登录后都没有做任何事情。 / p>