很多的论坛上,我们有时候不仅仅能看到在线的人数以及登录的人数,而且还能能知道哪些用户在线,哪些用户不在线,再加上一些即时通讯工具的集成支持,这大大的方便了用户之间的相互交流,也方便了运行商对网站每天访问情况的统计以及对网站人群的统计。在Java中怎样来实现这种统计呢?方法有很多,可以统计利用session和Applaction的结合来进行统计,也可以用实时修改数据库的状态来进行实现,自己可以根据功能的强弱自己来自行设计,一般来说,我们都会使用监听器来进行实现,自己写一个监听器要实现HttpSessionListener,然后实现其方法就行了,在相应的方法中实现不同的功能。以下是一个简单的监听器:
<!---->package mj.util;
import java.util.Enumeration; import java.util.Hashtable;
import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener;
/** * 实现在线用户统计的监听器 * * @author yongtree */ public class SessionListener implements HttpSessionListener {
private static Hashtable htSessionUser = new Hashtable();
/** * 构造函数 */ public SessionListener() { }
/** * @param se - * HttpSessionEvent */ public void sessionCreated(HttpSessionEvent se) {
htSessionUser.put(se.getSession().getId(), "");
}
/** * @如果登录之后,请调用此方法。 * @param sessionId * @param obj * 一般为登陆用户ID,或者登陆用户对象。此处放对象较好。 * @特别说明。如果用此形式,同一用户,同一时间多次登陆,进行判断,比较困难。最后在加一个HashTable,以账号为主键,其它相关信息为value */ public static void userLogin(String sessionId, Object obj) { htSessionUser.put(sessionId, obj); }
/** * @param se - * HttpSessionEvent */ public void sessionDestroyed(HttpSessionEvent se) { htSessionUser.remove(se.getSession().getId()); se.getSession().invalidate();
}
/** * @return Hashtable,该Hashtable的KEY含有所有会话的ID,如果该用户登录,则VALUE含有该用户的id。 */ public static Hashtable getSessionUser() { return htSessionUser; }
/** * @return int,访问当前站点的会话数。 */ public static int getSessionCount() { return htSessionUser.size(); }
/** * @return int,访问当前站点的登录会话数。 */ public static int getLoginSessionCount() { Enumeration em = htSessionUser.elements(); int i = 0; while (em.hasMoreElements()) { String sValue = (String) em.nextElement(); if (!sValue.equals("")) i++; } return i; } } | <!---->
由于时间的匆忙,很多的功能还没有实现,我会在以后的时间里继续的完善,使其功能更加的全面和更具有通用性。(更新中)
分享到:
- 2007-10-17 11:42
- 浏览 1629
- 评论(0)
- 论坛回复 / 浏览 (0 / 3038)
- 查看更多
相关推荐
标题中的“C#代码统计工具”是一个专门用于分析C#项目代码量的应用程序。它允许用户通过指定C#项目的根目录,快速获取项目中的代码行数,包括空行、注释行以及实际的可执行代码行。这对于项目管理和团队协作至关重要...
3. **统计图类型工具类**: 提到的“定义统计图类型的工具类”可能是开发人员为了简化操作或者增强JFreeChart功能而编写的辅助类。这类工具通常包含静态方法,可以快速设置图表类型、数据源转换或自定义样式。比如,...
5. 结果展示:统计结果可以显示在Label控件或者另一个TextBox控件中,通过设置其Text属性更新显示内容。 6. 错误处理:为了提高程序的健壮性,应考虑加入错误处理机制,比如检查用户是否输入了文本,防止因空文本而...
标题中的“一个统计代码行数的小工具”指的是一个专门用于计算源代码文件中代码行数的应用程序。这类工具在软件开发过程中非常有用,因为它能够帮助开发者量化工作量、跟踪项目进度,以及进行代码质量分析。它能处理...
在Winform应用中,代码行数统计工具通常会作为一个独立的窗体程序,用户可以通过简单的操作获取项目的代码统计信息。 代码行数统计工具有多种实现方式,一种常见的方法是遍历项目文件夹,识别和读取C#源代码文件(....
`CodeCount`可能就是这样的命令行工具,用户可以通过终端输入特定的命令,批量处理大量代码文件,或者将其集成到构建脚本中,自动报告代码统计信息。例如,用户可以编写一个简单的shell脚本,遍历整个项目目录并调用...
这个简易统计图控件就是这样的一个例子,它是由开发者用C#语言编写的,旨在为Windows Forms或WPF应用提供一个直观、易用的图表展示功能。下面我们将详细探讨这个控件的相关知识点。 首先,C#是一种面向对象的编程...
"eclipse统计代码工具"就是这样一个插件,专门用于在Eclipse环境中进行代码统计。 该插件的安装非常简单,只需要将它放入到Eclipse的`plugins`目录下。Eclipse的`plugins`目录通常位于Eclipse安装目录的根目录下,...
1. **站长统计工具**:这是一个专门为网站管理员设计的工具,帮助他们跟踪和分析网站流量、用户行为以及广告效果。在这个标题中提到的“九戒”工具,具有兼容性,可以与多个主流的站长统计服务如CNZZ(中国万网统计...
MATLAB数理统计工具箱是MATLAB环境中的一个重要扩展,为用户提供了一系列强大的统计分析功能。这个工具箱包含了大量的函数、应用程序以及示例,用于处理各种数理统计问题,包括数据探索、假设检验、回归分析、时间...
本次更新的"ios-图表工具类 更新版.zip"引入了一个强大的图表库——JHChart,尤其值得关注的是,它新增了圆饼图功能,并且加入了动画效果,使得数据的呈现更加生动和吸引人。开发者可以通过GitHub地址获取到最新的源...
今天我们将聚焦于一个名为“LineCount3.6.3”的代码统计工具,通过对其功能、使用方法以及局限性的深度探讨,来全面理解这个工具的价值。 LineCount是一款轻量级的代码统计工具,其主要功能是对指定的文件或整个...
"统计学习工具箱"是一个集合了多种常用统计学习算法的资源库,主要服务于数据分析和机器学习领域的专业人士。这个工具箱提供了丰富的代码实现,方便用户理解和应用各种统计学习方法。下面,我们将深入探讨其中的一些...
代码行数统计工具能够快速、准确地计算出一个项目或文件中的源代码行数,包括空行、注释行以及实际的代码行。 该工具名为"SourceCounter",很可能是一个命令行工具或者具有简单图形界面的应用。它可能支持多种编程...
在软件开发过程中,衡量代码工作量、项目进度以及复杂性的一个常用指标就是代码行数。而kazoeca,这是一款专为开发者设计的代码行数统计工具,它能有效地帮助我们对Java、C、ASP等项目的代码修改量进行精确统计。...
在软件开发过程中,代码行数(LOC,Lines of Code)常被用来作为衡量项目规模和工作量的一个重要指标。为了方便开发者对Java代码进行统计分析,出现了名为"代码行统计工具(CountLines)"的实用工具。这款工具以其简洁...
在给定的压缩包文件中,"代码行统计工具"很可能是一个实现这些功能的应用程序或库。使用时,用户需要按照工具提供的指南操作,可能包括选择待分析的代码目录、设置统计选项,然后工具会自动执行统计并显示结果。这些...