Session监听统计网站的在线人数HashSet

来源:互联网 发布:中原突围 知乎 编辑:程序博客网 时间:2024/06/05 10:09
import java.util.ArrayList;import java.util.HashSet;import java.util.List;import javax.servlet.ServletContext;import javax.servlet.http.HttpSession;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;public class OaSessionListener implements HttpSessionListener {
@Overridepublic void sessionCreated(HttpSessionEvent arg0) {HttpSession session = arg0.getSession();ServletContext application = session.getServletContext();// 在application范围有一个HshSet集保存所有的Session HashSet sessions= (HashSet) application.getAttribute("sessions"); if(sessions == null){ sessions=new HashSet(); application.setAttribute("sessions", sessions);  } //新创建的session均添加到HashSet集中  sessions.add(session); System.out.println("当前在线人数:" + sessions.size() + "人");}@Overridepublic void sessionDestroyed(HttpSessionEvent arg0) {HttpSession session = arg0.getSession();ServletContext application = session.getServletContext();HashSet sessions=(HashSet) application.getAttribute("sessions");//销毁的session均从HshSet中移除 sessions.remove(sessions);System.out.println(sessions.size()); }
}

0 0
原创粉丝点击