J2EE中統計當前線上人數——HttpSessionBindingListener和HttpSessionListener
阿新 • • 發佈:2019-01-08
package demo;
import java.util.ArrayList;
import java.util.List;
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 OnlineDemo implements ServletContextListener, HttpSessionListener, HttpSessionAttributeListener {
// 宣告一個ServletContext物件
private ServletContext application = null;
public void contextInitialized(ServletContextEvent sce) {
// 容器初始化時,向application中存放一個空的容器
this.application = sce.getServletContext();
this.application.setAttribute("alluser", new ArrayList());
}
public void contextDestroyed(ServletContextEvent sce) {
}
public void sessionCreated(HttpSessionEvent se) {
}
public void sessionDestroyed(HttpSessionEvent se) {
// 將使用者名稱稱從列表中刪除
List l = (List) this.application.getAttribute("alluser");
String value = (String) se.getSession().getAttribute("uname");
l.remove(value);
this.application.setAttribute("alluser", l);
}
public void attributeAdded(HttpSessionBindingEvent se) {
// 如果登陸成功,則將使用者名稱儲存在列表之中
List l = (List) this.application.getAttribute("alluser");
l.add(se.getValue());
this.application.setAttribute("alluser", l);
}
public void attributeRemoved(HttpSessionBindingEvent se) {
}
public void attributeReplaced(HttpSessionBindingEvent se) {
}
}
import java.util.ArrayList;
import java.util.List;
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 OnlineDemo implements ServletContextListener, HttpSessionListener, HttpSessionAttributeListener {
// 宣告一個ServletContext物件
private ServletContext application = null;
public void contextInitialized(ServletContextEvent sce) {
// 容器初始化時,向application中存放一個空的容器
this.application = sce.getServletContext();
this.application.setAttribute("alluser", new ArrayList());
}
public void contextDestroyed(ServletContextEvent sce) {
}
public void sessionCreated(HttpSessionEvent se) {
}
public void sessionDestroyed(HttpSessionEvent se) {
// 將使用者名稱稱從列表中刪除
List l = (List) this.application.getAttribute("alluser");
String value = (String) se.getSession().getAttribute("uname");
l.remove(value);
this.application.setAttribute("alluser", l);
}
public void attributeAdded(HttpSessionBindingEvent se) {
// 如果登陸成功,則將使用者名稱儲存在列表之中
List l = (List) this.application.getAttribute("alluser");
l.add(se.getValue());
this.application.setAttribute("alluser", l);
}
public void attributeRemoved(HttpSessionBindingEvent se) {
}
public void attributeReplaced(HttpSessionBindingEvent se) {
}
}