java 统计在线人数
来源:互联网 发布:大话西游3知乎 编辑:程序博客网 时间:2024/04/20 05:42
通过web.xml配置session的监听,每当监听到一个新的session,则计数加1。
反之当程序失去一个session则计数减1.
OnlineCounter类,这个类需要实现HttpSessionListener, HttpSessionAttributeListener, HttpSessionBindingListener三个接口:
/**
* OnlineCounter.java
*
* Copyright 2008. All Rights Reserved.
*/
package com.cosmow.online;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
* TODO OnlineCounter 记录在线人数
*
* Revision History
*
* 2008-8-11,Cosmo,created it
*/
public class OnlineCounter extends HttpServlet implements HttpSessionListener,
HttpSessionAttributeListener, HttpSessionBindingListener {
private static final long serialVersionUID = 1L;
private static int sessionCounter = 0;
private static int attributeCounter = 0;
public void sessionCreated(HttpSessionEvent event) {
sessionCounter++;
System.out.println("session created");
}
public void sessionDestroyed(HttpSessionEvent event) {
sessionCounter--;
System.out.println("session destroied");
}
public void attributeAdded(HttpSessionBindingEvent event) {
attributeCounter++;
System.out.println("attribute added");
}
public void attributeRemoved(HttpSessionBindingEvent event) {
attributeCounter--;
System.out.println("attribute removed");
}
public void attributeReplaced(HttpSessionBindingEvent event) {
System.out.println(event.getName() + " replaced");
}
public void valueBound(HttpSessionBindingEvent event) {
System.out.println(event.getName() + " bound " + event.getValue());
}
public void valueUnbound(HttpSessionBindingEvent event) {
System.out.println(event.getName() + " unbound " + event.getValue());
}
// 获取当前在线人数
public static int getOnlineSession() {
return sessionCounter;
}
public static int getOnlineAttribute() {
return attributeCounter;
}
}
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<listener>
<listener-class>com.cosmow.online.OnlineCounter</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
- java 统计在线人数
- java统计在线人数
- java统计在线人数
- java统计在线人数详解|
- java 实现统计在线人数
- java 实现统计在线人数
- java 统计网站在线人数
- java 在线人数的统计
- java web在线人数统计
- java session统计在线人数
- 使用java 监听器实现在线人数统计
- 用java统计网站在线人数
- 统计java网站访问量和在线人数
- java 统计在线人数(2)
- [java]HttpSessionListener实现统计在线人数
- 用java统计网站在线人数
- java 统计网站访问量&在线人数
- 用java统计网站在线人数
- 一个用C#写的词法分析程序
- 10个你闻所未闻的奇趣网站
- 使用XmlReader读取xml文件
- 关于截图的注意问题
- satchmo 汉化
- java 统计在线人数
- 怎么了。。。
- 客户端不安装 Oracle 也可以连接数据库的方法
- delphi ado 动态连接数据库
- Delphi中POST方法获得网页源代码
- MyEclipse 经常键盘失效 Linux解决方法
- Hibernate继承映射的两种策略
- 原来pmplayer-advance的工程在google code上面
- JS StringBuffer