`

配置Session监听器实现用户数据控制

    博客分类:
  • Java
阅读更多

如果要实现在线用户数量统计,可以在WEB.xml配置Session的监听器:

 

	<!-- Session 监听器 -->
	<listener>
		<listener-class>
			com.cpic.ryx.servlet.SessionCounterListener
		</listener-class>
	</listener>
	

 

在这个类中,可以实现对Session创建时 和 销毁时候的操作:

 

public class SessionCounterListener implements HttpSessionListener {
	
	/**
	 * 新用户登录,累加器加1
	 */
	public void sessionCreated(HttpSessionEvent hse) {
		SessionCounter.raise();
	}
	
	/**
	 * 用户登出,累加器减1
	 */
	public void sessionDestroyed(HttpSessionEvent hse) {		
		//当用户退出时,将该用户移除用户列表
		Object obj=hse.getSession().getAttribute(Constant.USER_KEY);
		if(obj!=null){
			UserContainer.getInstaice().delUser(((TUser)obj).getPersonId());
		}
		SessionCounter.reduce();
	}
}

 

 

分享到:
评论

相关推荐

    JAVA SESSION监听器

    总的来说,Java Session监听器是Web应用中不可或缺的一部分,它提供了一种透明且强大的方式来管理和优化Session的生命周期,同时也能帮助我们更好地理解和控制用户的在线行为。通过深入理解和熟练运用Session监听器...

    利用session监听器实现一个客户不能再两个客户端登录。

    这通常通过实现Session监听器来实现。本文将深入探讨如何利用Session监听器来防止同一用户在多个客户端同时登录。 首先,理解Session的基本概念至关重要。Session是服务器为每个用户创建的一种存储机制,用于保存...

    session监听小例子

    Session监听器是Servlet API提供的一种机制,允许开发者对Session的生命周期事件进行监听和处理,比如Session创建、更新、失效等。下面,我们将深入探讨Session监听及其在实际应用中的作用。 首先,我们需要了解...

    .net C# 通过session控制重复登录及在线用户统计

    在这个场景中,我们关注的是如何利用`Session`来控制用户的重复登录以及统计在线用户数量。下面将详细介绍这两个核心知识点。 1. **重复登录控制**: 当用户成功登录后,通常会将用户的一些关键信息(如ID、用户名...

    使用监听器跟踪session的生命周期和session的属性

    为了更好地理解和管理Session的生命周期及其属性,我们可以使用监听器(Listeners)来实现这一目标。以下是关于使用监听器跟踪Session生命周期和属性的详细解释。 1. **HttpSessionListener**: - `...

    jsp中监听器实现在线用户统计

    在实现过程中,我们还需要在Web应用的部署描述符(web.xml)中配置监听器,指定它们需要监听的事件和对应的监听器类。例如: ```xml ... &lt;listener-class&gt;handson.listener.OnlineListener ... ``` 此外...

    spring session实现session共享

    5. **定制Session行为**: 可以通过实现`SessionRepository`接口来自定义Session的行为,或者通过监听器(`ApplicationListener&lt;SessionDestroyedEvent&gt;`)来监听Session销毁事件。 **实战示例** 在使用Redis作为...

    java_session共享配置.jar

    这个库可能包含一些自定义的监听器、过滤器或其他组件,以实现会话的持久化和集群间的同步。它使得在分布式环境中,无论用户请求哪台服务器,都能获取到正确的session信息,从而保持用户状态的一致性。 在实际应用...

    监听器实现在线人数统计

    Session监听器是实现了`javax.servlet.http.HttpSessionListener`接口的类,它可以监听到Session的创建和销毁事件,从而判断用户的登录和登出。 下面是一个简单的Session监听器的代码示例: ```java import javax....

    redis+tomcat集群配置session共享

    5. **设置Session复制策略**:可以通过`DeltaManager`的属性调整复制策略,例如`expireSessionsOnShutdown`决定服务器关闭时是否清理Session,`notifyListenersOnReplication`决定是否在复制后触发监听器事件。...

    基于ZooKeeper的分布式Session实现

    1. **Session创建与注册**:当用户首次访问应用时,服务器会在ZooKeeper上创建一个与该Session关联的节点,并存储Session数据。这个节点通常包含用户的会话ID和相关的Session属性。 2. **Session更新**:每当...

    监听session的创建到销毁

    首先,我们需要了解Session监听器的基本概念。在Java Web应用中,监听器是一种Servlet API组件,它可以监听特定的事件并作出响应。对于Session监听,我们主要关注`HttpSessionListener`和`...

    memcached配置session共享依赖jar包集合

    例如,通过监听器或过滤器实现。 5. **测试与优化**: 完成基本配置后,进行测试,确保session可以在不同服务器间正常共享。同时,可以根据需求调整缓存策略,如超时时间、过期策略等。 通过以上步骤,我们可以成功...

    tomcat7整合redis实现session共享,jar包带配置方法

    上述配置中,`host`和`port`是Redis服务器的地址和端口,`database`是Redis数据库的编号,`password`是Redis的访问密码(如果有的话),`maxActiveSessions`设置最大活跃session数量,`sessionEventListeners`用于...

    redis+tomcat实现session的jar

    3. **Session监听器**:在Tomcat中注册监听器,监控session的创建、更新、销毁等事件,并相应地在Redis中进行操作。 4. **配置文件**:可能包含示例或默认的配置文件,用于设置Redis服务器的地址、端口、超时时间等...

    resis实现tomcat7 session 共享

    4. **Resin配置**:在Resin的conf/resin.xml中,配置session-store元素,指定存储Session的机制,如数据库、Memcached或Redis。 5. **同步机制**:当Session在一台服务器上创建或更新时,需要同步到其他服务器。...

    session共享jar包(三个)

    1. **配置Tomcat**:在Tomcat的web.xml中,配置自定义的session配置,比如使用一个实现了`HttpSessionListener`的类来监听session事件,并将其保存到Redis。 2. **配置Redis**:确保Redis服务器正常运行,并且配置...

    Nginx+Tomcat+Memcached实现tomcat集群和session共享

    在构建高性能、高可用性的Web应用系统时,通常会采用Nginx作为反向代理和负载均衡器,Tomcat作为应用服务器处理Java Servlet和JSP,而Memcached用于存储和共享Session数据。这个配置可以有效地分发用户请求,提高...

    过滤器和监听器的使用

    例如,Session监听器可以监听会话的创建、过期等事件,ServletContext监听器可以监听上下文的初始化和销毁事件,Request监听器可以监听请求的开始和结束。监听器的实现通常需要实现特定接口,如HttpSessionListener...

Global site tag (gtag.js) - Google Analytics