1、ServletContext记录个数
package cn.demo.listener;import javax.servlet.ServletContext;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class MyServletContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { // 容器一启动ServletContext对象就会创建,该方法就会执行 System.out.println("容器创建了..."); ServletContext servletContext = sce.getServletContext(); int count = 0; servletContext.setAttribute("count", count); } @Override public void contextDestroyed(ServletContextEvent sce) { // 容器销毁ServletContext对象就销毁,该方法就会执行 System.out.println("容器销毁了..."); }}web.xml配置cn.demo.listener.MyServletContextListener
2、监听session创建
package cn.demo.listener;import java.util.Date;import javax.servlet.ServletContext;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;/** * 监听session个数 * */public class MySessionListener implements HttpSessionListener { @Override public void sessionCreated(HttpSessionEvent se) { // 当服务器创建一个session的时候该方法执行 System.out.println("session被创建了..." + se.getSession().getId() + "..." + new Date()); ServletContext servletContext = se.getSession().getServletContext(); int count = (Integer) servletContext.getAttribute("count"); count++; servletContext.setAttribute("count", count); } @Override public void sessionDestroyed(HttpSessionEvent se) { System.out.println("session被销毁了..." + se.getSession().getId() + "..." + new Date()); ServletContext servletContext = se.getSession().getServletContext(); int count = (Integer) servletContext.getAttribute("count"); count--; servletContext.setAttribute("count", count); }}web.xmlcn.itcast.listener.MySessionListener
3、页面显示
showSessionCount.jsp显示
当前服务器session个数:${applicationScope.count}