如何知道哪些用户处于非活动状态?

时间:2012-10-06 13:45:32

标签: java jsp struts2

您好如何知道哪些用户处于非活动状态(没有打开页面或在特定时间内没有做任何事情),我使用的是jsp和java。

3 个答案:

答案 0 :(得分:2)

我假设您希望从服务器的角度了解非活动用户。如果您只是想要一个客户端解决方案,其他答案将引导您朝着正确的方向前进。

无论如何,除非您自己跟踪信息,否则没有通用的方法来获取服务器端的知识。您的Web容器可能使用在一段时间后过期的cookie来维护持久会话,但如果您想要从特定会话映射回用户(或从用户映射回会话),那么您需要在数据库中自己维护该映射。

因此,您可以添加一些代码以将用户与会话相关联,并跟踪最后看到的针对每个用户的时间戳,然后您可以轻松确定哪些用户处于非活动状态,并采取您想要采取的任何操作。

当然,如果您不关心具体了解哪些用户处于非活动状态,并且您只是想确保所有处于非活动状态超过x分钟的用户丢失会话,您可以通过配置Web容器的会话到期时间。执行此操作的过程取决于您正在运行的特定服务器。

答案 1 :(得分:0)

您可以应用javascript来设置检查用户活动的时间间隔。 然后你就会知道用户是否还在页面上。

setInterval(function(){ update(); },3000);  // Send a update every 3 seconds

update()可以是一个AJAX POST,用于指示用户正在观看的页面以及用户停留的时间。

答案 2 :(得分:0)

您可以使用javascript优雅地跟踪空闲时间

查看handle idle time in javascript