社区
Web 开发
帖子详情
java系统如何获取当前登录用户的数量
liu_baogui
2010-12-27 01:35:07
我用 struts + spring + ibatis 做了一个系统,如何在这个系统中控制登录用户的数量?
网上查了一些资料,大部分是通过监听session的数量,来计算当前连接数,但是,当用户直接关闭浏览器,或者其他没有通过正常途径退出,这个session还在存活期,就不能实时统计这个数量,有没有更好的方法做到实时统计登录用户?
...全文
919
21
打赏
收藏
java系统如何获取当前登录用户的数量
我用 struts + spring + ibatis 做了一个系统,如何在这个系统中控制登录用户的数量? 网上查了一些资料,大部分是通过监听session的数量,来计算当前连接数,但是,当用户直接关闭浏览器,或者其他没有通过正常途径退出,这个session还在存活期,就不能实时统计这个数量,有没有更好的方法做到实时统计登录用户?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wojiushiniba1230
2012-08-12
打赏
举报
回复
[Quote=引用 19 楼 的回复:]
fdsfsdfsdfhttp://
[/Quote]看看效果
wojiushiniba1230
2012-08-12
打赏
举报
回复
搞什么?
http://www.google.com.hk
wojiushiniba1230
2012-08-12
打赏
举报
回复
fdsfsdfsdf
http://
liu_baogui
2010-12-27
打赏
举报
回复
[Quote=引用 16 楼 lhq062003 的回复:]
因为统计操作不是无时无刻在做,所以可以在统计的时候遍历一次SESSION,对每个客户端做一次
“心跳检测”,这样就能统计出来真正的在线用户了
[/Quote]
java web项目适合用 心跳测试 吗?
liu_baogui
2010-12-27
打赏
举报
回复
[Quote=引用 8 楼 gaoch_2000 的回复:]
在客户端用js程序1秒钟连接服务器一次。。。。。。
[/Quote]
tomcat说:压力好大
Think Nothing
2010-12-27
打赏
举报
回复
因为统计操作不是无时无刻在做,所以可以在统计的时候遍历一次SESSION,对每个客户端做一次
“心跳检测”,这样就能统计出来真正的在线用户了
鹏_子
2010-12-27
打赏
举报
回复
application针对多个用户,多用户记录网站登录人数
session针对一个用户,多用户记录一个登陆用户
学习。。。。
Spancer
2010-12-27
打赏
举报
回复
利用application对象吧。
locathyve
2010-12-27
打赏
举报
回复
过来学习一下。。。。。。。。。。
hh79200
2010-12-27
打赏
举报
回复
我竟然都不懂
火龙果被占用了
2010-12-27
打赏
举报
回复
[Quote=引用 8 楼 gaoch_2000 的回复:]
在客户端用js程序1秒钟连接服务器一次。。。。。。
[/Quote]
这样做跟自我攻击服务器没啥区别,如果有 10000 个用户那服务器估计就得崩掉,C10K 问题,呵呵。
火龙果被占用了
2010-12-27
打赏
举报
回复
你只能统计到个大概的,精确地是做不了的!
比如说用户关浏览器、直接关机,或者直接断电!这些能监测到么?
HF2905330
2010-12-27
打赏
举报
回复
楼上的够狠
gaoch_2000
2010-12-27
打赏
举报
回复
在客户端用js程序1秒钟连接服务器一次。。。。。。
xchh1220
2010-12-27
打赏
举报
回复
实时数据并不一定非得完全准确实时,非正常退出的只能当他还在线直到Session失效
循环Ajax发请求是不对的,这样只要不关页面是不是就一直不超时了
liu_baogui
2010-12-27
打赏
举报
回复
[Quote=引用 5 楼 zghbsyqyb 的回复:]
你可以在页面中放个类似与定时器的东西啊,用ajax每个5到10秒的样子请求一下后台,后台自然要做监听,如果隔几十秒还没收到某个用户用ajax提交过来的用户ID,就当该用户已经下线。
不过这种方式每个页面中都要放点东西,如果用的是frame的就好了,只需在一个页面中弄个ajax定时循环的跑。
[/Quote]
这样会不会对服务器造成压力
烟火人间-红尘一笑
2010-12-27
打赏
举报
回复
你可以在页面中放个类似与定时器的东西啊,用ajax每个5到10秒的样子请求一下后台,后台自然要做监听,如果隔几十秒还没收到某个用户用ajax提交过来的用户ID,就当该用户已经下线。
不过这种方式每个页面中都要放点东西,如果用的是frame的就好了,只需在一个页面中弄个ajax定时循环的跑。
liu_baogui
2010-12-27
打赏
举报
回复
[Quote=引用 3 楼 tang5324110 的回复:]
你可以吧session过期时间设置的短点!比如一分钟,那样用户在非正常手段关掉网站,1分钟之后就知道了
[/Quote]
这样会影响到其他耗时操作,如果一个操作需要一分钟以上,这样设置就会很不方便。
玉女
2010-12-27
打赏
举报
回复
你可以吧session过期时间设置的短点!比如一分钟,那样用户在非正常手段关掉网站,1分钟之后就知道了
xuanyuanyilu
2010-12-27
打赏
举报
回复
我觉得这个就是用户的问题了,
还是应该把他算在在线状态,因为他再次打开网站还是在线的,
当然仅供参考
java
获取
当前
登录
用户
数量
_
Java
判断
当前
用户
数及
当前
登录
用户
数工具类-session原理...
public class MySessionListener implementsHttpSessionListener {/*** 创建session*/@SuppressWarnings({"rawtypes", "unchecked"})public voidsessionCreated(HttpSessionEvent event) {HttpSession session=event.g...
java
获取
当前
在线
用户
_案例:统计
当前
在线
用户
数量
使用监听器实现在线客户统计统计连接在应用上的客户端
数量
。客户端的唯一标识就是 IP,只需要对连接到服务器上的 IP
数量
进行统计,就可统计出客户端的
数量
。网上很多这方面的文章都是只监听了session,即当session创建时,在线客户端的
数量
就+1,session销毁时,在线客户端的
数量
就-1,这种统计的方法不正确,
用户
在同一台机器上打开两个不同的浏览器访问
系统
时,
系统
会创建两个session对...
Java
获取
电脑 CPU 个数及
系统
信息
Java
获取
电脑 CPU 个数及
系统
信息 标题Runtime 类: 每个
Java
应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。应用程序不能创建自己的 Runtime类实例, 可以通过 getRuntime() 方法
获取
当前
运行时。 Properties 类: Properties 类表示了一个持久的属性集。Properties可保存在流中或从流中加载属性列表中每个键及其对应值都是一个字符串。list(PrintStream out) 或者 list(PrintWr
若依框架学习(二)
获取
用户
角色和权限以及所拥有的路由
获取
用户
角色和权限 若依
系统
每次跳转某个页面时,都会调用该方法,以检查
当前
用户
是否有权限访问该页面,或者说该页面能基于该
用户
的角色身份和权限来显示菜单
数量
。 老办法前端用f12网络活动来
获取
后台请求路径。 该方法主要作用是: 1,从springsecurity中
获取
当前
登录
用户
的信息 2,根据
当前
用户
信息来查询
当前
用户
的角色集合 3,根据
当前
用户
信息来查询
当前
用户
的权限集合 4,将以上信息放入AjaxResult返回给前端。 springsecurity是如何
获取
当前
用户
信息的呢? 这里封装了一个安全服务
sessionid
java
_
java
如何
获取
sessionid
展开全部StringsessionId=request.getSession().getId();首先要获32313133353236313431303231363533e59b9ee7ad9431333337396230得request对象,然后调用getSession()方法。Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端
用户
与交互
系统
进...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章