- 浏览: 556611 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (144)
- struts (1)
- 数据库 (13)
- Ext (4)
- mysql (10)
- PHP (2)
- informix (1)
- js (9)
- java (41)
- struts2 (9)
- wap (2)
- 浏览器 (2)
- hibernate (1)
- android (19)
- ibatis (2)
- css (1)
- 上传 html (1)
- kindeditor (1)
- sql service (2)
- spring (7)
- xml (1)
- oracle (1)
- log4j (2)
- 日期 (2)
- swing (5)
- jquery (4)
- eclipse (4)
- Maven (1)
- BUG (5)
最新评论
-
msdghs:
LZ你好,看了你的文章略有所获,但是里面的一些机制不是很明白, ...
spring quartz集群配置 -
linksky1018:
是我弄错啦,我忘了进行url解码了
java 汉字转Unicode -
linksky1018:
纯汉字转换还行
java 汉字转Unicode -
linksky1018:
貌似有问题吧
java 汉字转Unicode -
kizz:
谢谢您,帮了大忙
struts2 上传 验证图片大小 长宽
首先创建监听器,监听器实现ServletContextAttributeListener, HttpSessionAttributeListener两个接口。
在web.xml中添加监听器
在绑定session或清除session时会触发以上方法
public class LoginUserListener implements ServletContextAttributeListener, HttpSessionAttributeListener { public void attributeAdded(ServletContextAttributeEvent event) { } public void attributeRemoved(ServletContextAttributeEvent event) { } public void attributeReplaced(ServletContextAttributeEvent event) { } /** * session创建后触发该方法,将session信息添加到集合中 */ public void attributeAdded(HttpSessionBindingEvent event) { if (event.getName().equals(IConstant.SESSION_TUSER)) { //获取session信息 HttpSession session = event.getSession(); if(session!=null){ //获得用户信息 TUser user=(TUser)event.getValue(); //获得application信息 ServletContext application = session.getServletContext(); //从application中获得session列表 HashSet<TUser> hashSet=(HashSet<TUser>)application.getAttribute(IConstant.APPLICATION_SESSION); //判断列表数据是否为空 如果为空 需要实例化sessionlist if(hashSet==null){ hashSet=new HashSet<TUser>(); } //判断用户的session是否已经存在,如果已经存在则不在添加 hashSet.remove(user);//先删除,避免重复添加 //将新增用户添加到list中 hashSet.add(user); application.setAttribute(IConstant.APPLICATION_SESSION, hashSet); } } } /** * session被清除里触发,一般用户用户退出时 */ public void attributeRemoved(HttpSessionBindingEvent event) { if (event.getName().equals(IConstant.SESSION_TUSER)) { //获取session信息 HttpSession session = event.getSession(); //获得用户信息 TUser user=(TUser)event.getValue(); ServletContext application = session.getServletContext(); //从application中获得session列表 HashSet<TUser> hashSet=(HashSet<TUser>)application.getAttribute(IConstant.APPLICATION_SESSION); if(hashSet!=null){ hashSet.remove(user); //将剩余的放置在application中 application.setAttribute(IConstant.APPLICATION_SESSION, hashSet); } } } /** * session被替换时触发 */ public void attributeReplaced(HttpSessionBindingEvent event) { System.out.println("attributeReplaced"); } }
在web.xml中添加监听器
<listener> <listener-class>com.jz.sys.listener.LoginUserListener</listener-class> </listener>
在绑定session或清除session时会触发以上方法
发表评论
-
不同版本的web.xml配置
2016-07-12 10:33 1091web.xml v2.3 <?xml version ... -
在线裁剪图片 Jcrop
2016-01-30 10:49 1599Jcrop 是一个功能强大的 jQuery 图像裁剪插件,结合 ... -
java.lang.OutOfMemoryError: PermGen space
2014-12-12 15:24 752解决办法增大tomcat JVM内存设置 参数说明: -Xm ... -
struts2的iterator标签遍历HashMap
2014-11-17 10:56 771hashmap中保存的是string,object,objec ... -
Log4j写入数据库详解
2014-09-04 16:10 849log4j是一个优秀的开源日志记录项目,我们不仅可以对输出 ... -
将jar文件打包成exe安装文件(三)
2014-08-13 09:43 921通过前两篇 将jar文件打包成exe安装文件(一) ... -
将jar文件打包成exe安装文件(二)
2014-08-13 09:34 1094在上一篇中《将jar文件打包成exe安装文件(一)》介绍了,如 ... -
将jar文件打包成exe安装文件(一)
2014-08-13 09:26 1595将java项目打成exe可运 ... -
如何用java jdbc 向数据库表插入大数据量
2013-11-26 17:17 2042jvm:-Xmx1024m size = 1000000,可以 ... -
java获得当前时间一小时前的时间
2013-10-29 15:30 3481Calendar calendar = Calendar. ... -
log4j 日志输出至数据库
2013-10-28 11:19 20231、首先配置log4j ### set log leve ... -
使用Dom4j合并多个xml文件
2013-09-25 16:55 4933SAXReader saxReader = new SAX ... -
Java利用Ibatis的ScriptRunner解析sql
2013-09-11 13:28 5473需要导入mybatis-3.0.5.jar包 java直接解析 ... -
java 解析sql脚本
2013-08-29 14:27 1579java执行sql脚本,一种是解析sql脚本,生成每一条sql ... -
Spring 泛型 反射调用方法
2013-08-26 14:52 1698Object cz=springUtil.getBean( ... -
spring中使用ApplicationContext
2013-08-26 14:47 1060声明一个SpringUtil,并且实现ApplicationC ... -
Java中如何获得所有实现该接口的子类
2013-08-26 09:58 2936public static List<Class&g ... -
Java urlrewriter 第一节 初识urlrewriter
2013-08-01 09:54 919urlrewrite顾名思义,就是对URL进行重写,用户得到的 ... -
java 修改 读取properties文件
2013-07-25 14:04 1418/** * 根据key获取prpperties中的某 ... -
java实现zip压缩、解压
2013-07-25 11:06 15353/** * 解压缩 * @param warP ...
相关推荐
在JavaWeb开发中,"用session统计在线人数"是一个常见的需求,主要应用于网站或应用的实时用户活动监控。本文将详细解析如何利用session这一核心技术来实现这个功能。 首先,理解session的基本概念。在Web开发中,...
**在线人数计数:Java Session统计实战** 在这个关于"session统计在线人数.rar"的压缩包中,包含了Java编程语言的一个示例项目,主要用于演示如何通过session对象来跟踪和统计网站或应用程序中的在线用户数量。Java...
在Java Web开发中,统计在线人数是一项常见的需求,它能够帮助我们了解系统当前的活跃用户量。本项目通过实现`HttpSessionListener`接口,每隔一分钟动态更新在线人数,提供了高效且可靠的解决方案。以下是对这个...
通过以上这些方法,我们可以构建一个精确且稳定的Java Session统计系统,避免"SESSION可以为负数的BUG",确保服务的稳定性和用户体验。在实践中,根据具体的应用场景和需求,可能还需要考虑更多的细节和优化措施,如...
在此方法内可以实现统计在线人数的逻辑,每当一个新session创建时,在线人数计数增加。 2. `sessionDestroyed(HttpSessionEvent event)`:当HttpSession即将从与当前请求相关联的会话中移除时触发此方法。此方法适用...
在Java JSP(JavaServer Pages)环境中,统计在线人数是一项常见的需求,这通常涉及到服务器端的会话管理、数据持久化以及实时性处理。这里我们将深入探讨如何利用JSP技术来实现这一功能。 首先,我们需要理解JSP的...
在Java Web开发中,统计在线人数是一项常见的需求,它能够帮助我们了解网站或应用的实时活跃用户数量。这里我们将深入探讨如何实现这一功能。 首先,我们需要理解“在线人数”的定义。通常,它指的是在一定时间窗口...
总结,Java Web在线人数统计通过监听Session生命周期,结合适当的存储和显示机制,可以实现高效且实时的在线用户数量统计。理解这一机制对于提升Web应用的用户体验和优化服务器资源管理至关重要。
在Java编程中,监听器(Listener)是一种关键的机制,它允许程序对特定事件的发生做出反应。本主题将深入探讨如何使用...理解Java监听器的概念,并结合适当的工具和技术,能帮助你构建出稳定且高效的在线人数统计系统。
在网站运营过程中,统计在线人数和访问量是至关重要的数据指标,它们可以帮助我们了解网站的活跃度、用户行为以及优化方向。本主题将详细介绍如何使用Java编程语言来实现这一功能,特别是关注当前年、月、日的访问量...
本教程将深入讲解如何利用Java的监听器机制来统计在线人数,具体涉及到ServletContextListener、HttpSessionListener以及HttpSessionAttributeListener。 首先,`ServletContextListener`是Java Servlet API中的一...
Java Web 开发在线人数统计 在线人数统计是 Java Web 开发中一个常见的功能,当一个用户登录后,显示欢迎信息,同时显示出当前在线的总人数和用户名单。当一个用户退出登录或者 Session 超时值发生时,从在线用户...
通过学习这个JSP在线人数统计程序示例,你可以深入了解如何在JSP中使用Session进行状态管理,并且掌握如何设计和实现一个基本的在线人数统计功能。这将有助于提升你的Web开发技能,更好地应对实际项目的需求。
当用户注销、关闭浏览器或session超时时,对应的session对象将被解绑,此时应相应地更新在线人数。 5. **显示在线人数**:你可以创建一个Servlet或JSP页面,实时显示当前在线人数。这可以通过访问一个全局维护的...
在IT行业中,尤其是在Web开发领域,判断用户是否在线和实时统计在线人数是常见的需求,这有助于提供更好的用户体验和服务。这两个概念通常与Java Web和JSP技术密切相关,涉及到HTTP会话管理和数据结构的运用。 首先...
根据提供的文件信息,我们可以深入探讨如何在Web应用中实现在线用户人数统计这一功能。此功能在许多场景下都非常实用,比如在线教育平台、直播系统、社区论坛等,它可以帮助管理员实时了解系统的负载情况,同时也为...
此外,需要注意的是,基于Session的在线人数统计可能会存在一些问题,例如用户关闭浏览器但未正式登出,此时Session可能会因浏览器关闭而意外结束,导致在线人数统计不准确。为了解决这个问题,可以结合应用服务器的...
在本主题“day18 监听器”中,我们将探讨如何利用监听器来统计在线人数、定时销毁超时session、实现session的钝化与活化,以及如何在系统中显示在线用户列表和实现踢人功能,从而防止用户自动登录。同时,还会涉及...
- 除了基于Session的统计,还可以结合Cookie、数据库或其他分布式数据存储方案来实现更准确的在线人数统计。 - 可以通过异步更新或者定时任务,定期将统计信息持久化,避免因服务器重启导致数据丢失。 以上就是...