最直接的交互操作是用数据库,你在用户注册的时候为每个用户建立一个是否活动的标志,一旦用户登入,标志为活动,这样你在后台就可以通过在用户表中得到这些在先的用户。不用数据库的时候,实际可以在每个用户与后台程序交互的时候直接采用一个vector来存储此时连接的客户,一旦检测到用户退出,在里面直接删除!

解决方案 »

  1.   

    数据库的操作固然是好,但是有弊端,首先当用户登陆时可以通过HttpSessionListener,HttpSessionAttributeListener,HttpSessionBindingListener等实现数据库操作,如果服务器断电或者是重启(程序不是特稳定),这些情况java是监测不到的,所以无发修改数据库。
    所以我选择了在内存中放一个hashmap存贮当前在线人数,一旦服务器断电或重启,hashmap就空了,所以我觉着操作数据库不是最优的解决办法。
    现在存贮当前在线人数的hashmap是在客户端应用运行的,但是我想在管理端得到,我后来想了一些办法,最好选择ejb,但我不知道怎么写,如何布置,希望高手指点!
      

  2.   

    同一个域下使用getRequestDispatcher(goUrl).forward(request,response)应该是可以的。