JAVA 获取在线用户数的方法

摘要: 在互联网的应用中,通常需要统计当前时间使用系统的人数,用来衡量网络的使用量以及稳定性的数据,如何实现这种功能呢,其实通过 java servlet listener 就可以实现,下面是实现的方法.1. 编写 扩展实现 HttpSessionListener 接口.2. 在web.xml 中配置listener.

在互联网的应用中,通常需要统计当前时间使用系统的人数,用来衡量网络的使用量以及稳定性的数据,如何实现这种功能呢,其实通过 java servlet listener 就可以实现,下面是实现的方法.
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(), 就可以得到当前的在线人数。

上一篇: java RSA公钥加密,私钥解密算法例子.
下一篇: java 与富文本编辑器 fckeditor 结合的例子(源码下载)

Avatar

大飞 评论于: 2015-04-04

好像不对啊!获取不到  QQ 522351468
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号