session统计在线人数

package com.hyq.common.utils;


import java.util.ArrayList;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;


public class HyqUtilsOnlineListener implements HttpSessionListener, HttpSessionAttributeListener {


	// 参数
	ServletContext sc;


	ArrayList
   
   
    
     list = new ArrayList
    
    
     
     ();//用来存储Session值
	
	int onlinecount = 0;


	// 新建一个session时触发此操作
	public void sessionCreated(HttpSessionEvent se) {
		sc = se.getSession().getServletContext();
		onlinecount++;
		sc.setAttribute("onlinecount", onlinecount);
		System.out.println("创建:"+onlinecount);
		/*SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println("创建:"+se.getSession().getId());
		System.out.println("时长:"+se.getSession().getMaxInactiveInterval());
		System.out.println("最后访问:"+sdf.format(se.getSession().getLastAccessedTime()));*/
	}


	// 销毁一个session时触发此操作
	public void sessionDestroyed(HttpSessionEvent se) {
		onlinecount--;
		sc.setAttribute("onlinecount", onlinecount);
		System.out.println("销毁:"+onlinecount);
		/*System.out.println("销毁:"+se.getSession().getId());
		System.out.println("最后访问:"+se.getSession().getLastAccessedTime());
		if (!list.isEmpty()) {
			//list.remove((String) se.getSession().getAttribute("userName"));
			sc.setAttribute("list", list);
		}*/
	}


	// 在session中添加对象时触发此操作,在list中添加一个对象
	public void attributeAdded(HttpSessionBindingEvent sbe) {
		sc.setAttribute("onlinecount", onlinecount);
		System.out.println("向session中添加值:"+onlinecount);
	}


	// 修改、删除session中添加对象时触发此操作
	public void attributeRemoved(HttpSessionBindingEvent sbe) {
		sc.setAttribute("onlinecount", onlinecount);
		System.out.println("删除session对应属性:"+onlinecount);
	}


	public void attributeReplaced(HttpSessionBindingEvent sbe) {
		sc.setAttribute("onlinecount", onlinecount);
		System.out.println("值替换");
	}


}




     
       

     
       
    
      
      
       
       com.hyq.common.utils.HyqUtilsOnlineListener
      
                

     
      


     
         

     
         
    
      
      
       
       10
      
          

     
      
    
    
   
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值