原文地址:
http://www.zhongming.name/index.php/archives/89
import java.util.HashSet;
import java.util.Set;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import com.qy.pro.entity.system.User;
import com.qy.pro.util.Constant;
public class SessionListener implements ServletContextAttributeListener, HttpSessionAttributeListener {
private static Set<User> onLineUsers = new HashSet<User>();//用于保存在线用户
public static Set<User> getOnLineUsers() {
return onLineUsers;
}
//session创建后触发 ,将用户信息添加到静态的集合中
public void attributeAdded(HttpSessionBindingEvent arg0) {
if(arg0.getName().equals(Constant.USER_KEY)){
onLineUsers.add((User)arg0.getValue());
}
}
//清除session时触发
public void attributeRemoved(HttpSessionBindingEvent arg0) {
if(arg0.getName().equals(Constant.USER_KEY)){
onLineUsers.remove((User)arg0.getValue());
}
}
//session被替换时触发
public void attributeReplaced(HttpSessionBindingEvent arg0) {
if(arg0.getName().equals(Constant.USER_KEY)){
onLineUsers.add((User)arg0.getValue());
}
}
public void attributeAdded(ServletContextAttributeEvent arg0) {
}
public void attributeRemoved(ServletContextAttributeEvent arg0) {
}
public void attributeReplaced(ServletContextAttributeEvent arg0) {
}
}
然后在web.xml配置文件中添加以下内容:
<listener>
<listener-class>com.qy.pro.web.listener.SessionListener</listener-class>
</listener>
分享到:
相关推荐
JAVA SESSION 监听器 有效监听服务器SESSION情况,当前登录用户等
Java实现时间监听Java实现时间监听Java实现时间监听Java实现时间监听Java实现时间监听Java实现时间监听
SessionManager Java监听器实现在线人数统计Demo
用户登录时,调用LoginServlet,将用户名写入application的在线用户列表中,用户退出时,调用LogoutServlet,调用session.invalidate(),交给HttpSessionListener的sessionDestroyed()方法,将用户从在线列表中删除。...
主要介绍了Spring boot通过HttpSessionListener监听器统计在线人数的实现代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
主要给大家介绍了关于java监听器实现和原理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
这是一个用springMVC的项目 是一个监听器 用于监听session的创建、销毁、移除。会触发相应的事件处理
java实现监听数据库动态变化代码实例,很有参考意义。
java毕业设计——java本地监听与远程端口扫描系统的设计与实现(源代码+论文).zip java毕业设计——java本地监听与远程端口扫描系统的设计与实现(源代码+论文).zip java毕业设计——java本地监听与远程端口扫描系统的...
本文主要介绍了java web监听器统计在线用户及人数的方法解析。具有很好的参考价值。下面跟着小编一起来看下吧
ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务bug,解决文档.
JAVA监听机制实现一个小球的运动
NULL 博文链接:https://xace.iteye.com/blog/424250
用session记录用户的登录状态 1.登录 2.登录成功后将此“已登录”状态保存。 3.实现“显示员工列表”功能。 4.当用户点击“显示员工列表”的时候,验证用户是否已登录,已登录继续显示员工列表,没有登录则跳转到...
Bean监听:它只监听javabean对象往session中保存和session中移出的过程。 bean监听不需要专门写一个监听器,它是将需要监听的javabean对象实现我们的接口HttpSessionBindingListener 从使用上它不同于前面两个...
Servlet监听器的概念 各种类型的Servlet事件监听器的使用方法 监听器的配置方法
JAVA事件监听器的四种实现方式,条理清晰,简明易懂,看过就学会
在javaweb项目中,通过监听session,实现根据sessionid获取session的方法
oracle报错ora-12541:TNS无监听程序
java入门:java写的一个界面,画了个棋盘,实现panel,button的事件监听