JAVA 获取在线用户数的方法
By:Roy.LiuLast updated:2013-11-17
在互联网的应用中,通常需要统计当前时间使用系统的人数,用来衡量网络的使用量以及稳定性的数据,如何实现这种功能呢,其实通过 java servlet listener 就可以实现,下面是实现的方法.
1. 编写 扩展实现 HttpSessionListener 接口.
2. 在web.xml 中配置listener.
第一步,编写如下扩展
第二步:在web.xml 中配置:
在需要显示的地方调用方法 OnlineCounter.getOnlineSession(), 就可以得到当前的在线人数。
1. 编写 扩展实现 HttpSessionListener 接口.
2. 在web.xml 中配置listener.
第一步,编写如下扩展
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;
public class OnlineCounter extends HttpServlet implements HttpSessionListener,
HttpSessionAttributeListener,HttpSessionBindingListener {
public OnlineCounter(){
System.out.println("OnlineCounter initialized.");
}
private static final long serialVersionUID = 1L;
private static int sessionCounter = 0;
private static int attributeCounter = 0;
public void sessionCreated(HttpSessionEvent se) {
sessionCounter++;
System.out.println("session created");
}
public void sessionDestroyed(HttpSessionEvent se) {
sessionCounter--;
System.out.println("session destroied");
}
public void attributeAdded(HttpSessionBindingEvent se) {
attributeCounter++;
System.out.println("attribute added");
}
public void attributeRemoved(HttpSessionBindingEvent se) {
attributeCounter--;
System.out.println("attribute removed");
}
public void attributeReplaced(HttpSessionBindingEvent se) {
System.out.println(se.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 中配置:
com.yihaomen.OnlineCounter
在需要显示的地方调用方法 OnlineCounter.getOnlineSession(), 就可以得到当前的在线人数。
From:一号门
Previous:java RSA公钥加密,私钥解密算法例子.

COMMENTS