用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{
             
         }
    }

}

 

转载于:https://www.cnblogs.com/xjyh/p/4305782.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值