求助:基于数据库的在线人数统计???
求助:JSP版 基于数据库的在线人数统计???
原代码????
分不够可加!!!!思路也行。。。。
问题点数:50、回复次数:19Top
1 楼huihui0103()回复于 2006-08-03 21:04:03 得分 0
application来保存在线人数
判断sessionTop
2 楼loveyt(咆哮的独角兽^大家都在长大)回复于 2006-08-03 21:15:45 得分 0
一张表,一个字段。
做一个Session监听,来一个人把这个字段+1,走一个人减1。
不过只是为了统计在线人数...基于数据库...有这个必要吗?Top
3 楼libin19830213(游戏与娱乐)回复于 2006-08-03 21:39:57 得分 0
可以单独把统计做一个静态类
里面写一对基于在线人数(一般INT足够了)
写个SESSION监听器 当SESSION CREATE时,调用这个类的SET方法 即:加一
SESSION DESTORY时:减一
不过 当用户非法退出网站时,系统无法监听到SESSION状态
所有网站几乎都存在这个问题吧~
不过可以通过其他方法弥补Top
4 楼xunkang()回复于 2006-08-03 21:58:03 得分 0
当然有必要了。。。。要存放用户端一些其他信息。。。。???
有原代码没!???
最好能给个例子!!!!!Top
5 楼nlhlx(胡)回复于 2006-08-03 22:18:43 得分 0
可用newxy技术,newxy对访问计数提供了极其多样灵活的方法.
方法一,利用newxy的标签<nbean:count/>,见http://www.newxy.net/doc.jsp#anchor13.2.5
方法二,建一个Session监听,当产生一新会话时,调用下面语句:
net.newxy.util.Count.getInstance().add(session.getId(),"人次",tableName,titleField,countField);在表的titleField字段中记录"人次",在countField字段中记录访问次数.
但会话过期时,调用下面语句:
net.newxy.util.Count.getInstance().removeSessionId(session.getId());
得到在线人数:
Integer count=net.newxy.util.Count.getSessionCount();
数据中保存的是访问总人次
select countField from tableName
将访问计数保存到数据库中是由一个线程每隔一分钟执行一次.
特别说明:方法二在newxy的技术文档中尚未提及.
newxy技术网站:http://www.newxy.net
Top
6 楼nlhlx(胡)回复于 2006-08-03 22:20:29 得分 0
在jsp页面上提数取在线人数:
在线人数:
<%
net.newxy.util.Count.getSessionCount().toString();
%>
newxy技术网站:http://www.newxy.netTop
7 楼Lcb801224()回复于 2006-08-04 00:22:19 得分 0
用application设置个属性专门保存就可以了,不用存。一般情况都不用操作数据库保存在线人数Top
8 楼hbwhwang(【生病了,好好休息中...】)回复于 2006-08-04 01:22:04 得分 0
这统计得准吗?意思意思倒是可以的Top
9 楼xunkang()回复于 2006-08-04 07:56:41 得分 0
顶。。。。Top
10 楼lliushine(小明)回复于 2006-08-04 10:50:14 得分 0
upTop
11 楼xunkang()回复于 2006-08-05 00:36:21 得分 0
顶了老鸟!!!Top
12 楼fffddd(假钞换贞操)回复于 2006-08-05 03:56:55 得分 0
如果访问静态页面这样有效么?Top
13 楼xunkang()回复于 2006-08-05 10:30:24 得分 0
顶顶顶。。。。。。。。。。。Top
14 楼theforever(碧海情天)回复于 2006-08-05 14:38:40 得分 0
别管JSP,ASP的,都有这问题Top
15 楼xunkang()回复于 2006-08-08 21:53:31 得分 0
汗。。。。Top
16 楼shanshuiboy()回复于 2006-08-09 18:37:38 得分 0
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdTop
17 楼xunkang()回复于 2006-08-10 22:41:15 得分 0
???这是什么意思啊Top
18 楼CAYU(中原)回复于 2006-08-10 23:25:25 得分 0
做一个Session监听,来一个人加入数据库,走一个人三产记录Top
19 楼nanman(南蛮—500万人使用的最强五笔作者)回复于 2006-08-10 23:32:23 得分 0
监听 Session绑定
implements HttpSessionBindingListener
用户登陆事件:
public void valueBound(HttpSessionBindingEvent event);
用户退出事件:
public void valueUnbound(HttpSessionBindingEvent event);Top




