用HttpSessionListener統計在線用戶或做賬號在線人數管理


使用HttpSessionListener接口可監聽session的創建和失效

session是在用戶第一次訪問頁面時創建

在session超時或調用request.getSession().invalidate()時失效

因此利用HttpSessionListener接口可方便的做到幾個功能

1、統計在線用戶

2、限定賬號的同時登錄個數

3、記錄用戶退出時間

以下是目前項目的代碼,實現的是限定賬號的同時登錄個數

public class MySessionListener implements HttpSessionListener{

    /**
     * <p>Title: sessionCreated</p> 
     * <p>Description: </p> 
     * @param se 
     * @see javax.servlet.http.HttpSessionListener#sessionCreated(javax.servlet.http.HttpSessionEvent) 
     */
    @Override
    public void sessionCreated(HttpSessionEvent se) {
        int i = 0;
    }

    /**
     * <p>Title: sessionDestroyed</p> 
     * <p>Description: </p> 
     * @param se 
     * @see javax.servlet.http.HttpSessionListener#sessionDestroyed(javax.servlet.http.HttpSessionEvent) 
     */
    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
         User userInfo = (User)se.getSession().getAttribute(Constants.SESSION_USER_INFO);
         if(null != userInfo){
             //該賬戶的在線人數減一
             UserService userService = (UserService) SpringContextUtil.getBean("userService");
             userService.UpdateOnlineNum(userInfo.getLoginName(), -1);
         }
         else{
             
         }
    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM