求解统计在线用户的方法(jsp)!

cxy_ll 2002-03-05 04:29:51
求解统计在线用户的方法(jsp)!
...全文
101 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
FSbaby 2002-03-11
  • 打赏
  • 举报
回复
使用 session listener 可以跟踪 session 的创建和删除
cxy_ll 2002-03-07
  • 打赏
  • 举报
回复
还有别的方法吗?
cxy_ll 2002-03-07
  • 打赏
  • 举报
回复
to:chenyuan_tongji
对呀,离线时如何判断?

to:zeaing()
如何知道session开始和结束?
zeaing 2002-03-07
  • 打赏
  • 举报
回复
最简单可行的办法适用session,
session开始的时候用count++,
session结束的时候count--
javalearner 2002-03-07
  • 打赏
  • 举报
回复
to chenyuan_tongji:when the user offline,then minus 1.
waterdragonfly 2002-03-07
  • 打赏
  • 举报
回复
同意: chenyuan_tongji(chenyuan_tongji)
这样简单一点
sharetop 2002-03-07
  • 打赏
  • 举报
回复
用servlet 的 application listener的方法不错,以前没想到:)

还有最老套的了,在数据库建一个在线用户表,登录时加一条记录,退出时删除,并在随时在线时动态更新这个表,如果超时也删除该用户。

这个方法很老了,以前用php也是这样做的。
shine_car 2002-03-05
  • 打赏
  • 举报
回复
首先在用户打开浏览器时创建一个session,然后使用Servlet application listener可以搞定写一个Listener类对session的创建和消除进行侦听。

import javax.servlet.*;
import javax.servlet.http.*;

public class CounterListener implements HttpSessionListener {
private static int count = 0;

public synchronized void sessionCreated(HttpSessionEvent se) {
count++;
}

public synchronized void sessionDestroyed(HttpSessionEvent se) {
count--;
}

public int getCount() {
return count;
}
}
修改你的web.xml,而且你的server要支持servlet2.3<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd"> <listener>
<listener-class>CounterListener</listener-class>
</listener>
skyyoung 2002-03-05
  • 打赏
  • 举报
回复
http://www.csdn.net/Expert/forum.asp?typenum=8&searchKeys=%D4%DA%CF%DF&roomid=28&author=&tabletype=now
nielinjie 2002-03-05
  • 打赏
  • 举报
回复
同上
chrischen79 2002-03-05
  • 打赏
  • 举报
回复
use an application scope javabean for online user counter

when user login, add the counter

23,407

社区成员

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

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