如何查找所有登录用户以及访问该站点但尚未登录的用户?

Cha*_*the 8 jsp servlets

我正在开发一个纯粹基于JSP和Servlets的项目,并要求:

  1. 显示已登录用户的列表
  2. 并显示未经登录访问该站点的用户数.

Servlet API是否为此提供了一些解决方案?

我找到了这个答案,这可能会回答我的第一个问题,但不够详细.

除了以上两个问题,我还想知道我是否可以记录访问我网站的用户的IP地址?

我仍然在研究Java EE的各种概念,并且不知道如何开始这一点,因此请记住这一点,请提供一个起点和一些细节,说明如何实现这三件事.如果您能提供有助于我理解基本概念的链接或解释,我将不胜感激.

Oli*_*hti 1

您链接到的答案是正确的,因为可以依靠 http 会话来跟踪用户(包括已识别用户和匿名用户)。

您想要了解的一种机制是 http 侦听器接口(请参阅http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpSessionListener.html)。这允许您在创建和销毁会话时收到通知。这将为您提供更新计数器的方法。

至于IP地址的问题,可以通过调用request对象的getRemoteAddr()来获取。如果您位于反向代理后面,则可能需要注意其配置。