import javax.servlet.*; import javax.servlet.http.*; public final class Test2 implements HttpSessionListener { private int count = 1; private ServletContext context = null; public synchronized void sessionCreated(HttpSessionEvent se) { count++; se.getSession().setMaxInactiveInterval(30);//设置最长休眠时间,单位秒 log("sessionCreated(′" + se.getSession().getId() + " count="+count); se.getSession().setAttribute("count",new Integer(count)); log("it's create time:"+se.getSession().getCreationTime()); log("MaxInactiveTnterval:"+se.getSession().getMaxInactiveInterval());//最大休眠时间,以秒为单位 System.out.println(se.getSession().getId()); System.out.println(se.getSession().getCreationTime()); } public synchronized void sessionDestroyed(HttpSessionEvent se) { count--; se.getSession().setAttribute("count",new Integer(count)); log("one session is time out or Destroyed!"); log("it's LastAccessedTime:"+se.getSession().getLastAccessedTime());//和session创建时候的时间差就是在线时间 } public int getCount() { return this.count; } public void addCount(){ count++; } private void log(String message) { if (context != null) context.log("context is exists:SessionListener: " + message); else System.out.println("context is null:SessionListener: " + message); //没有context存在就用系统输出了 }
|