现在正在做一个用户在线列表(已登陆),想用HttpSessionListener接口实现。
但发现好像HttpSessionListener只能统计在线人数。
不知有什么方法能实现? 就像聊天室里的那个在线列表一样的。
---------------------------------------------------------------
package SessionCounter; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; import com.oztime.right.UserObject; public class SessionCounter implements HttpSessionListener { private static int activeSessions = 0; private static Vector v= new Vector(); public void sessionCreated(HttpSessionEvent se) { } public static void createsession(HttpSessionEvent se ) { UserObject user1 =(UserObject)se.getSession().getAttribute("UserObject"); if(v.contains(user1)==false){ v.add(user1); activeSessions++; System.out.println("===================用户名称=================="+user1.getName()); System.out.println("===================用户数量=================="+activeSessions); } } public void sessionDestroyed(HttpSessionEvent se) { System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"); UserObject user2=(UserObject)se.getSession().getAttribute("UserObject"); if(v.contains(user2)==true){ v.remove(user2); activeSessions--; System.out.println("===================removed=================="+user2.getName()); } } public static void Destroysession(UserObject user) { //System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"); //UserObject user3=(UserObject)se.getSession().getAttribute("UserObject"); System.out.println("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"+user.getName()); if(v.contains(user)==true){ v.removeElement(user); activeSessions--; System.out.println("====================================="+user.getName()+"---退出登录!!!"); } } public static int getActiveSessions() { return activeSessions; } public static Vector getVector() { return v; } } |
|
===========================================================
在用户登陆后调用的
SessionCounter.createsession(new HttpSessionEvent(session)); SessionCounter.Destroysession(user); //注user 为用户实体 |
分享到:
相关推荐
主要介绍了Spring boot通过HttpSessionListener监听器统计在线人数的实现代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
用HttpSessionListener实现在线人数和历史访问量的统计
jsp 统计在线人数实例,是个完整的项目实例,部署即可查看效果! 通过使用:HttpSessionListener、HttpSessionBindingListener来实现. valueBound 方法登录触发。 valueUnbound 方法退出触发。
用户登录时,调用LoginServlet,将用户名写入application的在线用户列表中,用户退出时,调用LogoutServlet,调用session.invalidate(),交给HttpSessionListener的sessionDestroyed()方法,将用户从在线列表中删除。...
此类通过监听器实现了在线人数统计,其原理很简单,就是每当增加一个HttpSession时就触发了实现HttpSessionListener接口的类的SessionCreated()方法,使在线人数加1....
每隔一分钟统计在线人数 very good very strong
实现在线人的显示,通过实现ServletContenxListener,HttpSessionListener,HttpSessionAttributeListener来实现在线人的展示
springBoot ... ... ...Nginx:反向代理服务器,Nginx搭建支持用户头像等静态资源的访问 ...Spring Admin(外部监控)、Spring Actuator(内部监控平台) ...SpringBoot CORS实现跨域 ...HttpSessionListener监听器统计系统当前在线人数
HttpSessionListener 和HttpSessionBindingListener的区别 HttpSessionBindingListener单点登录。
【资源说明】 1、基于springboot+MyBatis实现的某房产平台系统源码+项目说明(毕设).zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机...HttpSessionListener监听器统计系统当前在线人数
用户注销 非正常退出 session失效 三种情况来进行 控制 分别使用了两种方式 进行了实现1:不修改数据库使用HashMap+HttpSessionListener 2:给数据库添加online列 使用(数据库脚本包含在内)HashMap+...
主要介绍了java 在Jetty9中使用HttpSessionListener和Filter的相关资料,需要的朋友可以参考下
使用SessionListener+持久化Session+Springmvc拦截器实现单点登录
您好,请访问:http://msdn.microsoft.com/zh-cn/library/aa478989.aspx [^] Yours Farhad。
jsp中唯一登录,使用session控制.
基于Spring+Struts2+ibatis框架,利用 HttpSessionBindingListener接口进行监听,实现防止异地登录,配有全部代码及sql数据库表
################ tips...借助Junit和Spring TestContext framework 和RestController监听器的作用: 监听对象 监听对象的属性 1:统计在线人数和在线用户 HttpSessionListener httpSessionAttributeListener 2:系统启
利用HttpSessionListener统计多在线用户人数 Spring使用ContextLoaderListener加载ApplicationContext配置信息 Spring使用Log4jConfigListener配置Log4j日志 Spring使用IntrospectorCleanupListener清理
关于Servlet监听器的几个例子,用于统计在线人数等等
企业drp系统经典实现。... * HttpSessionListener * HttpSessionAttributeListener * ServletContextListener v3.1 * JfreeChart的应用 v3.2 * 采用Ajax实现下拉列表的联动 v3.3 * 验证码的使用