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
session统计在线人数
最新推荐文章于 2022-03-28 17:17:01 发布