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);//設(shè)置最長休眠時間,,單位秒 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創(chuàng)建時候的時間差就是在線時間 } 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存在就用系統(tǒng)輸出了 }
|