牛骨文教育服务平台(让学习变的简单)
博文笔记

java session 统计在线人数,监听session的创建和销毁

创建时间:2018-03-25 投稿人: 浏览次数:179

如果你想用session统计一个在线人数等功能的话,那么这篇文章你就看对了,可以监听session的创建和销毁,至于其他功能你就可以随意的去写了

session监听可以监听到session的创建和销毁等操作,如果需要去做在线人数统计,那么需要这两个就足够了。

创建session监听类

package com.sunjs.commons;
//                         _ooOoo_  
//                        o8888888o  
//                        88" . "88  
//                        (| -_- |)  
//                         O = /O  
//                     ____/`---"\____  
//                   .   " \| |// `.  
//                    / \||| : |||//   
//                  / _||||| -:- |||||-   
//                    | | \ - /// | |  
//                  | \_| ""---/"" | |  
//                    .-\__ `-` ___/-. /  
//                ___`. ." /--.-- `. . __  
//             ."" "< `.___\_<|>_/___." >""".  
//            | | : `- `.;` _ /`;.`/ - ` : | |  
//                `-. \_ __ /__ _/ .-` / /  
//      ======`-.____`-.___\_____/___.-`____.-"======  
//                         `=---="  
//
//      .............................................  
//               佛祖保佑             永无BUG 
//       佛曰:  
//               写字楼里写字间,写字间里程序员;  
//               程序人员写程序,又拿程序换酒钱。  
//               酒醒只在网上坐,酒醉还来网下眠;  
//               酒醉酒醒日复日,网上网下年复年。  
//               但愿老死电脑间,不愿鞠躬老板前;  
//               奔驰宝马贵者趣,公交自行程序员。  
//               别人笑我忒疯癫,我笑自己命太贱;  
//               不见满街漂亮妹,哪个归得程序员? 

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

import org.apache.log4j.Logger;

/**
 * session 监听
 * @author sun
 */
public class SessionListener implements HttpSessionListener {
	
	protected static final Logger LOG = Logger.getLogger(SessionListener.class);

	@Override
	public void sessionCreated(HttpSessionEvent event) {
	    //创建session的时候可以监听到
	}
	
	@Override
	public void sessionDestroyed(HttpSessionEvent event) {
//		HttpSession session = event.getSession();
//		String sessionId = session.getId();
            //session销毁的时候可以监听到
	}

}

    web.xml 需要配置listener节点

    

<listener>
    <listener-class>com.sunjs.commons.SessionListener</listener-class>
</listener>

完成,此时session已经可以监听了。

如果你想做一个在线人数统计,那么只需要在创建和销毁的操作内存中的数据即可,redis、memcache或者系统内的map都可以。

我写了个简单的例子在我的个人博客


版权属于: 技术客

原文地址: https://www.sunjs.com/article/detail/48e3bd8faf42481bb21e80bba63b840d.html

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。