`

J2EE HttpSessionAttributeListener实现登录用户在线记录

阅读更多

 

web.xml配置

 

 <listener><listener-class>com.interceptor.UserListener1</listener-class></listener>



 

 

代码,实现HttpSessionAttributeListener接口,在httpsession中添加/移除用户信息时实现登录人数统计

 

 

package com.interceptor;

import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;


public class UserListener1 implements HttpSessionListener,HttpSessionActivationListener,HttpSessionAttributeListener {
	
	private static int acivateusercount=0;

	@Override
	public void sessionCreated(HttpSessionEvent arg0) {
		// TODO Auto-generated method stub		
		
	}

	@Override
	public void sessionDestroyed(HttpSessionEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	
	public  static synchronized int getactivated (){
		
		return acivateusercount;
		
	}

	@Override
	public void sessionDidActivate(HttpSessionEvent arg0) {
		// TODO Auto-generated method stub	}

	@Override
	public void sessionWillPassivate(HttpSessionEvent arg0) {
		// TODO Auto-generated method stub
	}

	@Override
	public void attributeAdded(HttpSessionBindingEvent arg0) {
		// TODO Auto-generated method stub
	//	acivateusercount++;
		Object ob = arg0.getName();
		if(ob!=null && "user".equals(ob.toString())){
			acivateusercount++;
			System.out.println("attributeAdded user: "+ ((User)arg0.getValue()).getUserId());
			System.out.println("online count: " + getactivated() );
		}
	//	
	}

	@Override
	public void attributeRemoved(HttpSessionBindingEvent arg0) {
		// TODO Auto-generated method stub
		Object ob = arg0.getName();
		if(ob!=null && "user".equals(ob.toString())){
			if(acivateusercount>0)acivateusercount--;
			System.out.println("attributeRemoved user: "+ ((User

)arg0.getValue()).getUserId());System.out.println("online count: " + getactivated() );}}@Overridepublic void attributeReplaced(HttpSessionBindingEvent arg0) {// TODO Auto-generated method stub}}




 

 

 

分享到:
评论

相关推荐

    JAVA J2EE 类库文档

    J2EE 类库文档 All Classes Cookie Filter FilterChain FilterConfig GenericServlet HttpServlet HttpServletRequest HttpServletRequestWrapper HttpServletResponse HttpServletResponseWrapper ...

    HttpSessionBindingListener实现在线人员查看即人数统计

    NULL 博文链接:https://franciswmf.iteye.com/blog/1831974

    监听器显示登陆用户列表,并实现踢人功能

    监听器显示登陆用户列表,并实现踢人功能 HttpSessionAttributeListener

    java监听器学习 统计在线人数

    实现在线人的显示,通过实现ServletContenxListener,HttpSessionListener,HttpSessionAttributeListener来实现在线人的展示

    企业drp系统经典源码

    * 用户登录 v1.8 sql注入的演示 v1.9 * 分销商树的展现 v2.0 * 修改区域和分销商 v2.1 * 添加区域或分销商 v2.2 * 删除区域和分销商 v2.3 * 修改密码 * 会计核算期间维护 * 建立物料对象...

    javax.servlet.jar下载

    javax/servlet/resources/j2ee_web_services_client_1_1.xsd javax/servlet/resources/j2ee_web_services_1_1.xsd javax/servlet/resources/XMLSchema.dtd javax/servlet/resources/jsp_2_0.xsd javax/servlet/...

    SpringSpringMvcMybatis

    ################ tips...借助Junit和Spring TestContext framework 和RestController监听器的作用: 监听对象 监听对象的属性 1:统计在线人数和在线用户 HttpSessionListener httpSessionAttributeListener 2:系统启

    java session出现的错误

    好郁闷哦,搞了两个多小时,我把先把HttpSessionAttributeListener 接口的方法实现了

    学习servlet的实例和参考api

    学习servlet的实例 说明文件 blog ...类 HttpSession Cookie HttpSessionAttributeListener HttpServlet HttpServletRequest HttpServeltResponse &lt;br&gt;

    servlet-api-2.4.jar.zip

    javax.servlet.Filter javax.servlet.Servlet javax.servlet.FilterChain ...javax.servlet.FilterConfig ...javax.servlet.http.HttpSessionAttributeListener javax.servlet.http.HttpSessionActivationListener

    Servlet监听器例子

    关于Servlet监听器的几个例子,用于统计在线人数等等

    servlet2.4doc

    attributeAdded(HttpSessionBindingEvent) - Method in interface javax.servlet.http.HttpSessionAttributeListener Notification that an attribute has been added to a session. attributeAdded...

Global site tag (gtag.js) - Google Analytics