HttpSessionBindingListener实现在线人员查看即人数统计
jsp+servlet的效果,需要以下5个文件:
login5.html、user.java、userList.java、OnlineUserServlet.java、LogoutServlet.java(需在web.xml中配置servlet)
文字说明:
1、
这个功能的完成,主要是利用一个实现了HttpSessionBindingListener接口的对象,当这个对象被绑定到Session中或者从Session中被删除时,更新当前在线的用户名单。
2、具体参见文档Java在线人数.docx;
3、在线人数统计程序存在的问题:
如果用户没有退出登录而直接关闭了浏览器,那么在服务器端的Session中,这个用户仍然是存在的,直到Session的超时值发生。所以在线人数统计只能做到在一个时间段内统计出大致的在线人数,而不能统计出精确的人数。为了提高统计的精确性,可以在客户端设置脚本,当浏览器关闭时,自动向服务器发送一个请求,服务器收到这个请求后,使Session失效。不过,这也不能做到100%的精确,因为还存在着客户端的浏览器异常终止,或者客户机器崩溃的可能。
登陆页面:
在线用户: