监听在线用户可以通过监听session创建来记录,通过写一个类来实现HttpSessionListener接口,其中要重写两个函数,分别是sessionCreated(HttpSessionEvent event)和sessionDestroyed(HttpSessionEvent event),分别是session创建和销毁会触发的函数。通过在创建和销毁session中增加用户数和减少用户数;
注意:要在web.xml文件中加入
- <listener>
- <listener-class>XXX.SessionListener</listener-class>
- </listener>
其次,由于如果用户直接关闭浏览器,服务端将无法知道其已经下线,可以通过设置session的超时时间来观察用户是否已经下线。在web.xml文件中加入
- <session-config>
- <session-timeout>1</session-timeout>
- </session-config>
其中,时间单位是一分钟,并且只能是整数,如果是零或负数,那么会话就永远不会超时。