我在做一个网站在线人数的统计的功能,我写的类要实现HttpSessionBindingEvent接口。当我第一次登入我的网站时在线人数是1,但是我将页面刷新后就变成了0,好像是调用了valueUnbound()方法。如何解决啊。

解决方案 »

  1.   

    如果登陆网站要账户
    建立一个表 usernae type 判断type是什么类型(在线或者不在线) 再count一下type=在线 就ok了,得到在线的数量 jsp接受数量显示页面。
    登陆的时候改变这个用户的类型type 在退出出浏览器或者关闭网站的时候更新用户的类型 type=“不在线”
    刷新的时候查询type 的count 比如 select (*) from log where type='在线'
      

  2.   

    如果网站没有账户登录的话,可以通过获取服务器session个数来判断在线用户个数。
    如果有账户登录,可以在用户登录的时候设置数据库一个字段为在线,或者在sessionBean中的属性为在线。接着就是遍历判断,进行统计登录账户在线个数统计个数的时候,需要处理非正常退出情况!
    如果异常关闭退出的,session不会理解销毁,所有session的有效时间需要把握!