如何统计在线人数,ip及用户名列表

SS_ 2004-11-09 12:27:02
好郁闷啊
我找了好久啊,找不到相关代码,上javaworld发帖子也没人理我,5555
这个问题好像不是太难吧,各位大侠帮帮忙,给些源码,或者给个参考链接地址
我想要的是类似于 http://bbs1.dzwww.com/forum/onlineuser.jsp 这样内容
包含
目前在线人数为:689(游客653人)
...全文
485 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
SS_ 2004-11-22
  • 打赏
  • 举报
回复
有点郁闷
SS_ 2004-11-22
  • 打赏
  • 举报
回复
其实这个问题还是没有很好的解决,不过还是结帖先
sirfei 2004-11-12
  • 打赏
  • 举报
回复
使用session的listener来实现,写个session扩展session的listener接口,并在web.xml中配置以下就可以了
yzf111 2004-11-12
  • 打赏
  • 举报
回复
yangbailao 2004-11-12
  • 打赏
  • 举报
回复
你可以用Servlet的监听HTTP会话!!!
Bruce2008 2004-11-12
  • 打赏
  • 举报
回复
可以确切的说,B/S做在线统计是个大问题,很难,几乎不太可能做到完全相同。
只能近似得出在线人数!
Bruce2008 2004-11-12
  • 打赏
  • 举报
回复
利用HttpSessionListener统计在线人数
JSP显示在线人数代码


/**
* 编写以下SessionCounter.java
* 并编译为SessiionCounter.class
* 然后放到你的网站的classpath的
* SessionCount(自己建立此目录)下面
*/

package SessionCount;
import javax.servlet.*;
import javax.servlet.http.*;

public class SessionCounter implements HttpSessionListener {

private static int activeSessions = 0;

public void sessionCreated(HttpSessionEvent se) {
activeSessions++;
}

public void sessionDestroyed(HttpSessionEvent se) {
if(activeSessions > 0)
activeSessions--;
}

public static int getActiveSessions() {
return activeSessions;
}
}

接着建立online.jsp文件用于显示在线人数
<%@ page import="SessionCount.SessionCounter" %>
在线:<%= SessionCounter.getActiveSessions() %>

然后需要在你的网站的WEB-INF中建立web.xml
文件内容如下:
<!-- Web.xml -->
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">

<web-app>

<!-- Listeners -->
<listener>
<listener-class>
SessionCount.SessionCounter
</listener-class>
</listener>

</web-app>

然后重新启动你的应用服务器,访问online.jsp检查是否显示正确。
SS_ 2004-11-12
  • 打赏
  • 举报
回复
对 guojiafuzhuxi(我爱敏敏) :能不能给个详细的实例,你说简单,对我来说稀里糊涂。

高手们给我一些实际一点的例子好不好,我 的问题一解决就结帖,我一直不想一拖再拖,

不过不管怎么说还是要谢谢大家的热心参与!谢谢!
guojiafuzhuxi 2004-11-11
  • 打赏
  • 举报
回复
不是有一些方法还有函数还是什么东东可以实现的吗?应该很容易的呀.
SS_ 2004-11-11
  • 打赏
  • 举报
回复
我也是找了好久没找到一些详细些资料,才在这里找各位帮忙的
今天居然看见有一为朋友在这个板块上问了和我相类似的问题,看来这确实是个问题
所以,能不能给我个jsp的源代码,实现的页面功能如下:

在线人数为:689(游客653人)

注册用户列表
用户昵称(ID) 上站时间 来自地址
1 无语(幽兰谷) 2004.11.09 12:15:09 218.58.*.*
2 冥想者(冥想者) 2004.11.09 12:01:07 60.210.*.*
3 君临天下(bigman) 2004.11.09 08:54:07 202.102.*.*


游客列表
用户昵称 上站时间 来自地址
37 游客 2004.11.09 11:57:10 211.136.*.*
38 游客 2004.11.09 12:14:41 61.154.*.*
39 游客 2004.11.09 12:08:49 218.98.*.*
okitgo 2004-11-11
  • 打赏
  • 举报
回复
帮你up
不知道能不能用application+session+request这三个对象实现
Arqui 2004-11-10
  • 打赏
  • 举报
回复
记得这个版里有这个代码 楼主找一找吧
dafei0320 2004-11-10
  • 打赏
  • 举报
回复
要先导入import java.net.InetAddress;
dafei0320 2004-11-10
  • 打赏
  • 举报
回复
InetAddress address = InetAddress.getByName(args[0]);
  System.out.println(args[0]+": "+address.getHostAddress());
SS_ 2004-11-10
  • 打赏
  • 举报
回复
怎么得到所有用户的ip列表??
hungrywolf729 2004-11-10
  • 打赏
  • 举报
回复
哈哈,其实这个问题,好象我在一本书好象叫《Jbuider精髓》里有介绍.
统计在线人数就是统计有多少个session存在,他是利用一个属性为application的session listener来实现的,在这个监听器里的valueBound方法里有一个计数器count。还有就是用到了Servletcontext的全局特性,新建立一个监听器,将其实例放入Servletcontext中,客户登陆时,如果此属性不为空就,将才属性取出存入Session中,然后就会触发valueBound方法count就加一,就OK了!~以下时大概的代码:
ServletContext session1=getServletConfig().getServletContext();
if(SessionListener)session.getAttribute("listener1")==null){
SessionListener sesionlistener = new SessionListener("count");
session1.setAttribute("listener1",sessionListener1);
}
zhz586 2004-11-09
  • 打赏
  • 举报
回复
去看看论坛的人数统计!
SS_ 2004-11-09
  • 打赏
  • 举报
回复
包含
目前在线人数为:689(游客653人)

注册用户列表
用户昵称(ID) 上站时间 来自地址
1 无语(幽兰谷) 2004.11.09 12:15:09 218.58.*.*
2 冥想者(冥想者) 2004.11.09 12:01:07 60.210.*.*
3 君临天下(bigman) 2004.11.09 08:54:07 202.102.*.*


游客列表
用户昵称 上站时间 来自地址
37 游客 2004.11.09 11:57:10 211.136.*.*
38 游客 2004.11.09 12:14:41 61.154.*.*
39 游客 2004.11.09 12:08:49 218.98.*.*

gnodiew 2004-11-09
  • 打赏
  • 举报
回复
根据session,ip,用户名,登录时间,最新活动时间
访问页面时判一下原表是否存在,不存在insert,存在update 最新活动时间

当前在线就是根据 最新活动时间与当前时间间隔是否达到一个设定的值
Yansharp 2004-11-09
  • 打赏
  • 举报
回复
会员登陆的时候比较好统计,在登陆的时候,记录ip
游客可以采用类似于计数器的原理,
不过这样的话,游客的统计中会有一些会员的重复数据,需要去除
"商易网店统计系统"是一款基于PHP MYSQL的免费网店统计系统!同时支持拍拍、淘宝、易趣等网店。 功 能: 1.统计系统支持多用户申请,同时支持网站和网店统计 2.总共60种记数器图片样式可以选择,还有两种统计图标可以选择,完全满足你的需求。 3.可以设置计数器显示数字,显示位数,计数器是否隐藏,统计信息是否公开等。 4.页面显示记数和IP防刷新记数两种记数模式,支持script网站方式和Img网店类方式调用计数器代码。 5.可以记录来访客的来源IP地址和来源页面信息,在线人数。 6.每月、每天和每小时的访问数据统计,回头率统计,每个网页浏览统计。 7.搜索引擎统计,还可以自己定义搜索引擎,搜索关键字统计。 8.注册用户找回密码功能,用户可以重置统计,删除注册账号。 9.安全性:密码MD5加密,找回密码答案MD5加密,注册、登陆使用验证码,完全防Sql注入。   【使用说明】: 1. 首先导入databackup目录下的kicshop.sql数据库文件。 2. 修改文件夹:public  下的  globalvar.inc.php  文件 数据库连接信息!     $PGSQL['hostname']="localhost";   填写数据库IP地址 $PGSQL['username']="root";        填写数据库用户名 $PGSQL['password']="123456";      填写数据库密码 $PGSQL['database']="jishu";       填写数据库名 登陆后台地址:http://www.xxx.com/paipailaadmin          用户名:admin          密  码:kicshop   版本对比:1.0和1.1 修复程序两处BUG 修复会员不能注册问题

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧