`
accphc
  • 浏览: 124644 次
  • 性别: Icon_minigender_1
  • 来自: CD
社区版块
存档分类
最新评论

SessionListener

阅读更多

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

import com.travelsky.tibetair.service.vo.UserVo;

/**
 * 测试耍的。哈哈哈,监控session的变化
 * @author hjc
 * @version 2011-4-8
 */
public class SessionListener implements HttpSessionListener,
		HttpSessionAttributeListener {

	public void attributeAdded(HttpSessionBindingEvent arg0) {
		 System.out.println("【监听到】HttpSession对象中新增一名为" + arg0.getName()
	                + "的属性,其属性值为" + arg0.getValue());
		if (arg0.getValue() instanceof UserVo) {
			UserVo new_name = (UserVo) arg0.getValue();
			System.err.println("现在的用户是:"+new_name.getUser().getUserName());
		}

	}

	public void attributeRemoved(HttpSessionBindingEvent arg0) {
		 System.out.println("【监听到】HttpSession对象中一名为" + arg0.getName()
	                + "的属性被删除!");
		 if (arg0.getValue() instanceof UserVo) {
				UserVo new_name = (UserVo) arg0.getValue();
				System.err.println("现在的用户是:"+new_name.getUser().getUserName());
		}
	}

	public void attributeReplaced(HttpSessionBindingEvent arg0) {
		 System.out.println("【监听到】HttpSession对象中一名为" + arg0.getName()
	                + "的属性被修改!新的 值是"+arg0.getValue());
		 if (arg0.getValue() instanceof UserVo) {
				UserVo new_name = (UserVo) arg0.getValue();
				System.err.println("现在的用户是:"+new_name.getUser().getUserName());
		}
	}

	public void sessionCreated(HttpSessionEvent arg0) {
		 System.out.println("【监听到】新用户" + arg0.getSession().getId() + "上线!");

	}

	public void sessionDestroyed(HttpSessionEvent arg0) {
		 System.out.println("【监听到】新用户" + arg0.getSession().getId() + "下线!");

	}

}
 
分享到:
评论

相关推荐

    使用SessionListener+持久化Session+Springmvc拦截器实现单点登录

    在这个过程中,`SessionListener`、持久化`Session`和`Springmvc拦截器`是关键组件,让我们逐一深入探讨。 ### SessionListener `SessionListener`是Java Servlet API中的一个接口,用于监听`HttpSession`事件。...

    sessionListener

    这个资源是针对session容器的,在具有多个session的session容器里需要进行注册,所以就有了这个代码。不过写的还是很粗糙的。

    JAVA培训Servlet监听器.pdf

    SessionListener用于监听Session对象的创建和销毁,监听器类需要实现javax.servlet..SessionListener接口或者javax.servlet..SessionActivationListener接口,或者两个都实现。例如: ```java public class ...

    Session过期后自动跳转到登录页面的实例代码

    然后,我们需要创建一个实现了`HttpSessionListener`接口的Java类,如`SessionListener`。在这个类中,`sessionCreated()`方法会在Session创建时被调用,而`sessionDestroyed()`方法会在Session销毁(即过期)时被...

    监听器实例jsp编写望大家喜欢

    1. 实现监听器接口的Java源代码文件:这些文件通常以".java"为扩展名,比如`SessionListener.java`,其中包含了实现监听器接口的方法。 2. 配置文件:可能包含了一个名为`web.xml`的文件,这是部署描述符,用来注册...

    javamelody.jar和 jrobin.jar

    监控器需要的jar,需在web.xml中配置 <filter-name>monitoring ... <listener-class>net.bull.javamelody.SessionListener</listener-class> 通过web地址:http:xxxx/项目名/monitoring 可以进入到监控页面

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

    public class SessionListener implements HttpSessionListener { public SessionListener() { } public void sessionCreated(HttpSessionEvent event) { // 处理Session创建逻辑 } public void ...

    jMf相关jMf相关

    2. **RTP Events**:JMF通过监听器接口(如SessionListener、SendStreamListener和ReceiveStreamListener)来处理RTP事件,如参与者加入、数据流状态变化等。例如: - **SessionListener**:用于监控会话状态变化...

    JMF帮助文档(中文版)

    - `ActiveReceiveStreamEvent`:当RTP(实时传输协议)数据包或RTCP(实时传输控制协议)数据包在停止后仍到达时,会触发此类事件,通知`SessionListener`。 - `ActiveSendStreamEvent`:同样地,这类事件通知`...

    session过期时间设置

    public class SessionListener implements HttpSessionListener { public void sessionCreated(HttpSessionEvent event) { // Session创建时执行的代码,例如添加用户到在线用户列表 HttpSession ses = event....

    单一登录踢人效果

    在本例中,Session监听类名为SessionListener,实现了HttpSessionListener接口。该类中定义了一个静态的HashMap对象sessionMap,用于存储用户ID和对应的Session对象。 在SessionListener类中,实现了两个重要的方法...

    JAVA SESSION监听器

    public class SessionListener implements HttpSessionListener { @Override public void sessionCreated(HttpSessionEvent se) { System.out.println("新Session创建:" + se.getSession().getId()); } @...

    servlet监听器实现踢人小案例

    public class SessionListener implements HttpSessionListener { @Override public void sessionCreated(HttpSessionEvent se) { System.out.println("新会话创建:" + se.getSession().getId()); // 在这里...

    Servlet的监听器小DEMO

    在"ServletListenerExample"这个DEMO中,可能包含了一个名为`SessionListener`的类,它实现了`HttpSessionListener`接口,并且在`sessionCreated`和`sessionDestroyed`方法中分别记录了会话的创建和销毁事件。...

    javaEE(上下文_监听器_过滤器) ppt

    例如,ServletContextListener可以监听Web应用的启动和关闭事件,SessionListener可以监控用户会话的创建、销毁等。通过监听器,开发者可以在特定事件发生时执行自定义逻辑,如数据缓存更新、资源清理等。此外,还有...

    shiro+redis做session管理

    6. **会话事件监听**:Shiro允许添加`SessionListener`来监听Session的创建、销毁、过期等事件。你可以自定义`SessionListener`来处理这些事件,例如在Session过期时发送通知。 7. **最后,将配置应用于Web应用**:...

    开发web_xml.rar_WEB XML_java web开发_web.xml_web开发_web

    `SessionListener`类需要实现`javax.servlet.http.HttpSessionListener`接口。 4. **会话超时设置** 可以在`web.xml`中设置默认的会话超时时间: ```xml <session-timeout>30 ``` 这表示如果用户30分钟内...

    CentOS7下Nginx+Tomcat负载均衡及Redis共享Session解决方案

    编写`SessionListener`类,实现`HttpSessionBindingListener`和`HttpSessionAttributeListener`接口,以便在Session创建、修改和移除时与`Redis`交互。 最后,确保所有配置正确无误后,重启`Nginx`和`Tomcat`服务器...

    权限管理shiro的使用

    若需强制踢出已登录用户,我们可以监听`SessionListener`并在检测到新登录时清除旧会话。 ```java public class LogoutSessionListener implements SessionListener { @Override public void sessionCreated...

Global site tag (gtag.js) - Google Analytics