@Override
public void contextInitialized(ServletContextEvent sce) {
/*List<HttpSession> list = new ArrayList<HttpSession>();
ServletContext app = sce.getServletContext();
app.setAttribute("sessions", list);
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
HttpSession session = (HttpSession) iterator.next();
long time = System.currentTimeMillis() - session.getLastAccessedTime();
if(time>5000) {
session.invalidate();
//list.remove(session);
iterator.remove();
}
}
for (HttpSession session : list) {
long time = System.currentTimeMillis() - session.getLastAccessedTime();
if(time>5000) {
session.invalidate();
list.remove(session);
}
}
}
}, 1000, 5000);*/
Integer sum = 0;
ServletContext app = sce.getServletContext();
app.setAttribute("sum", sum);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
}
public class MySession implements HttpSessionListener{
@Override
public void sessionCreated(HttpSessionEvent se) {
/*System.out.println("创建");
HttpSession session = se.getSession();
ServletContext sc = session.getServletContext();
List<HttpSession> list = (List<HttpSession>)sc.getAttribute("sessions");
list.add(session);*/
HttpSession session = se.getSession();
ServletContext sc = session.getServletContext();
Integer sum = (Integer)sc.getAttribute("sum");
sum++;
sc.setAttribute("sum", sum);
System.out.println(sum);
session.setMaxInactiveInterval(10);
/*session.invalidate();*/
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
//System.out.println("session销毁");
HttpSession session = se.getSession();
ServletContext sc = session.getServletContext();
Integer sum = (Integer)sc.getAttribute("sum");
sum--;
sc.setAttribute("sum", sum);
}
}