2016-08-19 37 views
2

我有一个基于jsp的网站,我正在跟踪mysql数据库中的登录时间。 我也在跟踪mysql数据库中的注销时间。 但是注销时间只有在用户通过正确的方法注销时才有效,即通过单击注销按钮。 如果用户直接关闭浏览器,那么我无法跟踪注销时间。 请帮助。如何跟踪用户直接关闭浏览器时的注销活动

回答

0

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

您还可以在这里读到它:在时间跟踪http://softwareas.com/heartbeat-pattern-supporting-library/

0

什么都可以你的错误准则?

如果它可以达到30分钟,那么你可以用HttpSessionBindingListener来完成。这将

否则,如果它非常长达5分钟或更少,然后如上建议你可以做一个ajax调用一个单独的servlet,将上次请求的时间更新到数据库。如果您更新数据库中收到的最后一个请求的时间,那么您甚至不需要检查先前的请求和当前请求。

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

有些公司采用某种类似的方式,使用不同的登录方式,即提取一些数据,而不是更新某些数据库,以保持会话一天不变,即使您只是保持浏览器打开状态,甚至在登录后不执行任何操作。

相关问题