做数据库的时候做个flag =1的时候在A =2的时候在B 判断一下了

解决方案 »

  1.   

    用一个session保存当前在线用户的名单.
    在线用户的名单用ArrayList来保存,session就添加这个对象.所有处理都在登录成功后处理,具体就是:
    <%
       if(session.getAttributes("username")==null)
       {
         ArrayList usernamelist = new ArrayList();
         String username = request.getParameter("username");
         usernamelist.add(username);
         session.setAttributes("username",usernamelist);
       }
       else
       {
         ArrayList usernamelisttemp = (ArrayList)session.getAttributes("username");
         String username = request.getParameter("username");
         usernamelisttemp.add(username);
         session.setAttributes("username",usernamelisttemp);
       }
    %>
    然后在需要显示在线名单的时候调用这个session.
      

  2.   

    我用的是jsp做聊天室,聊天室没有和后台数据库打交道,大部分的功能是用javascript实现的,
    我现在用了一个
    synchronized (application)
    {
      //热门聊天室
        Vector vecUserName0100=null;  
        vecUserName0100= (Vector)application.getAttribute("UserName0100");
        if(vecUserName0100==null) vecUserName0100= new Vector(1000,1000);            
      
        if (!strName.equals(""))
        {
          vecUserName0100.addElement(strName);
        }
       
        String User="";
        try
        {
          for(int i=0;i<vecUserName0100.size();i++)
          {
            User= (String)vecUserName0100.get(i);
            strUserList0100+="'"+User+" "+User+" 0 0 0 0 0 0',";
          }
          strUserList0100=strUserList0100.substring(0,strUserList0100.length()-1);
        }
        catch (Exception e)
        {
          System.out.println("e0100="+e.toString());
        }    iUserCount0100=vecUserName0100.size();
        application.setAttribute("UserName0100",vecUserName0100);
    }
    用了一个同步的思想再作,现在只能够统计共有多少人进来,但是用户什么时候走,比方说关掉ie页面,而不是点击退出按钮,我就无法判断了。感谢楼上的众位朋友的鼎力相助,我马上按照noratong(诺拉)朋友的思路用session再试一试。