如题 

解决方案 »

  1.   

    主要是通过判断session来判断。有一个例子。
    http://www.cn-java.com/www1/bbs/viewthread.php?tid=11490
      

  2.   

    用户存入session,放入集合,取得集合大小
      

  3.   

    http://blog.csdn.net/haydenwang8287/archive/2008/03/09/2160095.aspx
      

  4.   

     
    luocb1980 我看了 http://www.cn-java.com/www1/bbs/viewthread.php?tid=11490
    中的例子,请问一下在action类中 该如何 去得当前这个监听器对象啊 !用户登录要自己调用里面的方法增加在线人数不?
      

  5.   

    haydenwang8287
     
    (不能飞的海燕) 我在action中能 直接用 OnlineCounter.getOnline()去得登陆人数不? 这个类也没声明称单例啊?
      

  6.   

    haydenwang8287 方法真的可以啊  就是有人关闭浏览器后  数量不能自动减一 
      

  7.   

    以上只是一个简单的统计数字的例子,常规的“在线用户统计”一般会记录当前在线用户的比如username等信息,这就需要把这些东西放到数据库中了,比如你可以建一个表来保存当前在线用户的信息,或者将session的信息加到你保存用户信息的那个表中,这样在action中就可以查看当前在线用户的信息了。
      

  8.   

    可以的,因为那几个方法都是public static的。
      

  9.   

    你debug下,看下浏览器关闭的时候有没有进入listener.sessionDestroyed()
    或者是不是因为你开了多个浏览器
    或者你用的是遨游之类的浏览器,关闭tab不算关闭浏览器的