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

时间:2012-10-20 12:14:04

标签: jsp servlets

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

  1. 显示已登录用户列表
  2. 并显示未经登录访问网站的用户数。
  3. Servlet API是否为此提供了一些解决方案?

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

关于IP地址的问题,您可以通过在请求对象上调用getRemoteAddr()来获取。如果您在反向代理之后,则可能必须注意其配置。