办法1。用application对象啊!建立一个application对象的数组,每进入一个用户就在里面加新值,用户的session销毁时就把这个值去掉。取在线人数只需取数组下标的最大值再加1就可以了,至于列出名字就不用我多说了把!
办法2。用数据库存储原理和办法1相似,只是数据的存放方式不同。

解决方案 »

  1.   

    最好还是用application对象。
    用数据库的话是否会有些问题?
    如果用户都是直接关掉ie,而不是正常注销
    session直接断掉了,此后数据库中的数据就不会自动更新了
    人数只有越来越多
      

  2.   

    Applicatin对象是可以
    用数据库的方法也是没有问题的!
      

  3.   

    en,一段时间更新一下session数就行了
      

  4.   

    HttpSessionListener
    或者
    HttpSessionBindingListener
      

  5.   

    把session设为短时间,比如30秒,做一个隐含的页面每隔20秒向服务器发送一个空请求
    加上HttpSessionListener,当session丢失的时候清空application中的列表
    这样当IE被关闭的时候,30秒服务器没有接受岛请求,session就过期了,listener清空列表
      

  6.   

    用application对象的比较多些,同时,加上楼上的方法,应该不错的