package com.pzhu.listeners;
import java.util.Vector;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class WebListener implements ServletContextListener,
HttpSessionListener, HttpSessionAttributeListener {
ServletContext context=null;
private static int onlineCounter = 0;
private static Vector<String> onlineUserList = new Vector<String>();
public static int getOnlineCounter() {
return onlineCounter;
}
public void contextDestroyed(ServletContextEvent arg0) {
}
public void contextInitialized(ServletContextEvent arg0) {
context=arg0.getServletContext();
arg0.getServletContext().setAttribute("onlineUserList", onlineUserList);
}
public void sessionCreated(HttpSessionEvent arg0) {
onlineCounter++;
context.setAttribute("onlineCounter", onlineCounter+"");
}
public void sessionDestroyed(HttpSessionEvent arg0) {
onlineCounter--;
context.setAttribute("onlineCounter", onlineCounter+"");
if(arg0.getSession().getAttribute("SYSTEMLOGININFO")!=null){
onlineUserList.remove(arg0.getSession().getAttribute("SYSTEMLOGININFO").toString());
}
}
public static Vector<String> getOnlineUserList() {
return onlineUserList;
}
public void attributeAdded(HttpSessionBindingEvent arg0) {
if (arg0.getName().equals("SYSTEMLOGININFO")) {
onlineUserList.add(arg0.getValue().toString());
}
}
public void attributeRemoved(HttpSessionBindingEvent arg0) {
if (arg0.getName().equals("SYSTEMLOGININFO")) {
onlineUserList.remove(arg0.getValue().toString());
}
}
public void attributeReplaced(HttpSessionBindingEvent arg0) {
}
}
網站人數統計監聽器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.