📄 mysessionlistener.java
字号:
package com.jspdev.ch8;
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 java.io.PrintWriter;
import java.io.FileOutputStream;
public final class MySessionListener
implements HttpSessionActivationListener ,HttpSessionBindingListener ,
HttpSessionAttributeListener, HttpSessionListener,ServletContextListener {
ServletContext context;
int users=0;
//HttpSessionActivationListener
public void sessionDidActivate(HttpSessionEvent se)
{
logout("sessionDidActivate("+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()+event.getValue()+")");
}
public void valueUnbound(HttpSessionBindingEvent event)
{
logout("valueUnbound("+event.getSession().getId()+event.getValue()+")");
}
//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 se)
{
logout("attributeReplaced('"+se.getSession().getId()+",'"+se.getName()+"','"+se.getValue()+"')");
}//HttpSessionAttributeListener
//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)
{
out.close();
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -