onlinecountlistener.java

来自「J2EE独立开发制作」· Java 代码 · 共 64 行

JAVA
64
字号
import javax.servlet.http.*;
import javax.servlet.*;
public class OnLineCountListener implements HttpSessionListener,ServletContextListener,ServletContextAttributeListener

{

private int count;
private ServletContext context = null;
public OnLineCountListener()

{

count=0;
//setContext();
}
 //创建一个session时激发
public void sessionCreated(HttpSessionEvent se) 
{
count++;
setContext(se);
}
//当一个session失效时激发
public void sessionDestroyed(HttpSessionEvent se) 
{
count--;
setContext(se);
}
//设置context的属性,它将激发attributeReplaced或attributeAdded方法
public void setContext(HttpSessionEvent se)
{
se.getSession().getServletContext().
setAttribute("onLine",new Integer(count));
}
//增加一个新的属性时激发
public void attributeAdded(ServletContextAttributeEvent event) {
log("attributeAdded('" + event.getName() + "', '" +
event.getValue() + "')");
}
 //删除一个新的属性时激发
 public void attributeRemoved(ServletContextAttributeEvent event) {
log("attributeRemoved('" + event.getName() + "', '" +
event.getValue() + "')");
}
 //属性被替代时激发
public void attributeReplaced(ServletContextAttributeEvent event) {
log("attributeReplaced('" + event.getName() + "', '" +
event.getValue() + "')");
}
 //context删除时激发
public void contextDestroyed(ServletContextEvent event) {
log("contextDestroyed()");
this.context = null;
}
//context初始化时激发
 public void contextInitialized(ServletContextEvent event) {
this.context = event.getServletContext();
log("contextInitialized()");
}
private void log(String message)
{
System.out.println("ContextListener: " + message);
}   
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?