监听器的应用

统计在线人数

package com.smart.listener;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

/**
 * 统计在线人数
 */
public class OnlineUserCounterListener implements HttpSessionListener {

    public void sessionCreated(HttpSessionEvent se) {
        ServletContext context = se.getSession().getServletContext();
        Integer onlineUserCounter = (Integer) context.getAttribute("onlineUserCounter");
        if(onlineUserCounter==null){
            context.setAttribute("onlineUserCounter",1);
        }else{
            onlineUserCounter++;
            context.setAttribute("onlineUserCounter",onlineUserCounter);
        }
    }

    public void sessionDestroyed(HttpSessionEvent se) {
        ServletContext context = se.getSession().getServletContext();
        Integer onlineUserCounter =(Integer) context.getAttribute("onlineUserCounter");
        if(onlineUserCounter==null){
            context.setAttribute("onlineUserCounter",1);
        }else{
            onlineUserCounter--;
            context.setAttribute("onlineUserCounter",onlineUserCounter);
        }
    }
}

 

posted on 2019-01-12 22:34  溪水静幽  阅读(162)  评论(0)    收藏  举报