统计在线用户人数
来源:互联网 发布:讲题数学软件 编辑:程序博客网 时间:2024/04/29 07:48
我们可以利用Servlet规范中定义的事件监听器(Listener)来解决这个问题,实现更准确的在线人数统计功能。对每一个正在访问的用户,J2EE应用服务器会为其建立一个对应的HttpSession对象。当一个浏览器第一次访问网站的时候,J2EE应用服务器会新建一个HttpSession对象,并触发HttpSession创建事件,如果注册了HttpSessionListener事件监听器,则会调用HttpSessionListener事件监听器的sessionCreated方法。相反,当这个浏览器访问结束超时的时候,J2EE应用服务器会销毁相应的HttpSession对象,触发HttpSession销毁事件,同时调用所注册HttpSessionListener事件监听器的sessionDestroyed方法。
可见,对应于一个用户访问的开始和结束,相应的有sessionCreated方法和sessionDestroyed方法执行。这样,我们只需要在HttpSessionListener实现类的sessionCreated方法中让计数器加1,在sessionDestroyed方法中让计数器减1,就轻松实现了网站在线人数的统计功能。
下面就是利用HttpSessionListener实现在线人数统计的一个例子,这个例子已经在中创软件的J2EE应用服务器InforWeb中测试通过。
首先,编写一个简单的计数器,代码如下:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
然后,编写HttpSessionListener实现类,在这个实现类的sessionCreated方法中调用OnlineCounter的raise方法,在sessionDestroyed方法中调用OnlineCounter的reduce方法,代码如下:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
再然后,把这个HttpSessionListener实现类注册到网站应用中,也就是在网站应用的web.xml中加入如下内容:
1.
2.
3.
4.
5.
6.
7.
8.
9.
OK,在线人数统计功能已经实现,只要在JSP页面中加入下面这样的脚本就能显示但前在线人数了:
1.
2.
3.
4.
5.
6.
7.
8.
- 统计在线用户人数
- 统计在线用户及人数
- 统计在线注册用户和游客人数
- 监听器,统计在线用户及人数
- 如何统计每个小时用户在线人数?
- jsp+servlet+java 实现统计在线人数,在线用户
- 在线人数统计
- HttpSessionListener统计在线人数
- 在线人数统计
- 如何统计在线人数
- HttpSessionListener统计在线人数
- HttpSessionListener统计在线人数
- HttpSessionListener统计在线人数
- 统计在线人数
- HttpSessionListener统计在线人数
- 在线人数统计方法
- 统计在线人数
- HttpSessionListener统计在线人数
- Android Launcher分析和修改2——Icon修改、界面布局调整、壁纸设置
- super和this的区别
- 配置Log4j(很详细)
- Android Studio更改SDK或者JDK路径
- 第一章 C++的初步知识
- 统计在线用户人数
- Mysql Insert学习
- Objective-C 理解之方括号[ ]的使用
- Objective-C 多参数成员函数
- 关于“删除线程”时出现的错误
- Android decodeStream selector xml的方法
- [HDOJ]2018
- 页面记录输出
- VMware Workstation中安装Hyper-v