📄 mysessionlistener.java
字号:
package com.bjfu.tm;
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;
import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionBindingListener;
import sun.rmi.log.LogOutputStream;
import java.io.PrintWriter;
import java.io.FileOutputStream;
import java.util.ArrayList;
public final class MySessionListener
implements HttpSessionActivationListener,HttpSessionBindingListener,
HttpSessionAttributeListener,HttpSessionListener,ServletContextListener{
ServletContext context;
int users = 0;
ArrayList list = new ArrayList();
//HttpSessionActivationListener
public void sessionDidActivate(HttpSessionEvent se) {
logout("sessionDidActive("+ se.getSession().getId()+")");
}
public void sessionWillPassivate(HttpSessionEvent se) {
logout("sessionWillPassivate(" + se.getSession().getId()+")");
}//HttpSessionActivationListener
//HttpSessionBindingListener
public void valueBound(HttpSessionBindingEvent event) {
logout("valueBound(" + event.getSession().getId()+")");
}
public void valueUnbound(HttpSessionBindingEvent event) {
logout("valueUnbound(" + event.getSession().getId()+")");
}
//HttpSessionAttributeListener
public void attributeAdded(HttpSessionBindingEvent event) {
logout("attributeAdded("+event.getSession().getId()+"','"+
event.getName()+"','"+event.getValue()+")");
}
public void attributeRemoved(HttpSessionBindingEvent event) {
logout("attributeRemoved("+event.getSession().getId()+"','"+
event.getName()+"','"+event.getValue()+")");
}
public void attributeReplaced(HttpSessionBindingEvent event) {
logout("attributeReplaced("+event.getSession().getId()+"','"+
event.getName()+"','"+event.getValue()+")");
}//HttpSessionAttriubteListener
//HttpSessionListener
public void sessionCreated(HttpSessionEvent event) {
users++;
logout("sessionCreated('"+event.getSession().getId()+"')目前有"+users+"个用户");
context.setAttribute("users",new Integer(users));
}
public void sessionDestroyed(HttpSessionEvent event) {
users--;
logout("sessionDestroyed('"+event.getSession().getId()+"')目前有"+users+"个用户");
context.setAttribute("users",new Integer(users));
}//HttpSessionListener
// ServletContextListener
public void contextDestroyed(ServletContextEvent sce) {
logout("contextDestroyed()-->ServletContext被销毁");
this.context =null;
}
public void contextInitialized(ServletContextEvent sce) {
this.context = sce.getServletContext();
logout("contextInitialized()-->ServletContext初始化了");
}//ServletContextListener
private void logout(String message) {
PrintWriter out = null;
try {
out = new PrintWriter(new FileOutputStream("c:\\session.txt",true));
out.println(new java.util.Date().toLocaleString()+"::Form MySessionListener:"+message);
out.close();
}catch (Exception e) {
// TODO: handle exception
out.close();
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -