1

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

4

3 回答 3

2

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

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

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

当然,如果您不关心具体了解哪些用户处于非活动状态,而只想确保所有处于非活动状态超过x几分钟的用户都失去会话,则可以通过配置 Web 容器的会话到期时间来做到这一点。这样做的过程将取决于您正在运行的特定服务器。

于 2012-10-06T13:56:37.010 回答
0

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

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

可以是update()一个 AJAX POST 来指示用户正在观看哪个页面以及用户停留了多长时间。

于 2012-10-06T13:51:03.570 回答
0

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

在javascript中检查这个处理空闲时间

于 2012-10-06T13:54:46.507 回答