你查下以前的贴子~
√论坛统计在线人数(pxzcjp) 0 2 1-8 20:37 
√在线人数统计?(qlep) 20 4 12-15 11:32 
√非常急,请问如何用JSP实现在线人数统计(shuhw) 50 3 12-6 16:07 
√求统计在线人数?最简单代码(xhbmj) 100 13 11-30 07:46 
√怎么用能让asp实现统计在线人数的功能。在线等待!!!帮忙送分!(cdsun) 20 3 11-18 14:39 
√在线人数统计?就象聊天室??(xhbmj) 100 7 11-4 13:47 
√在线人数问题(hexiyang) 100 13 10-28 07:58 
√在线人数统计怎么做?(xhbmj) 

解决方案 »

  1.   

    文件名为onLineUser.java 欢迎访问javajia家(http://www.javajia.com),由yuking制作。2001.1.1 
    */ import javax.servlet.http.*;  
    import javax.servlet.*;  
    import java.util.*;  public class onLineUser implements HttpSessionBindingListener {  
        public onLineUser(){ 
    }  private Vector users=new Vector(); 
    public int getCount(){ 
    users.trimToSize(); 
    return users.capacity(); 

    public boolean existUser(String userName){ 
    users.trimToSize(); 
    boolean existUser=false; 
    for (int i=0;i<users.capacity();i++ ) 

    if (userName.equals((String)users.get(i))) 

    existUser=true; 
    break; 


    return existUser; 
    } public boolean deleteUser(String userName) { 
    users.trimToSize(); 
    if(existUser(userName)){ 
    int currUserIndex=-1; 
    for(int i=0;i<users.capacity();i++){ 
    if(userName.equals((String)users.get(i))){ 
    currUserIndex=i; 
    break; 


    if (currUserIndex!=-1){ 
    users.remove(currUserIndex); 
    users.trimToSize(); 
    return true; 


    return false; 
    } public Vector getOnLineUser() 

    return users; 

        public void valueBound(HttpSessionBindingEvent e) {  
    users.trimToSize(); 
    if(!existUser(e.getName())){ 
    users.add(e.getName()); 
    System.out.print(e.getName()+"\t  登入到系统\t"+(new Date())); 
    System.out.println("     在线用户数为:"+getCount()); 
    }else 
    System.out.println(e.getName()+"已经存在"); 
        }      public void valueUnbound(HttpSessionBindingEvent e) {  
    users.trimToSize(); 
    String userName=e.getName(); 
    deleteUser(userName); 
    System.out.print(userName+"\t  退出系统\t"+(new Date())); 
    System.out.println("     在线用户数为:"+getCount()); 
        }  
    }  ///////////////////////////////////////////////////////////////////////////// 
    <% 
    /**这是显示在线用户的jsp文件 文件名为onLineUser.jsp 欢迎访问javajia家(http://www.javajia.com),由yuking制作。2001.1.1 
    */ 
    %> 
    <%@ page contentType="text/html;charset=gb2312" %>  
    <%@ page import="onLineUser,java.util.*" %>  
    <jsp:useBean id="onlineuser" class="onLineUser" scope="application"/> 
    <html>  
    <head>  
    <title>搞定JSP在线人数</title> 
    </head> 
    <body>  
    <center>  
      <p><h1>登陆成功,欢迎您访问Java家!</h1></p> 
    </center> 
    <%  session = request.getSession(false); %>  
    <%  
    String username=request.getParameter("username"); 
    if (onlineuser.existUser(username)){ 
    out.println("用户<font color=red>"+username+"</font>已经登陆!"); 
    }else{ 
    session.setMaxInactiveInterval(50); //Sesion有效时长,以秒为单位 
    session.setAttribute(username,onlineuser);  
    out.println("欢迎新用户:<font color=red>"+username+"</font>登陆到系统!"); 

    out.println("<br>当前在线用户人数:<font color=red>"+onlineuser.getCount()+"</font><br>"); 
    Vector vt=onlineuser.getOnLineUser(); 
    Enumeration e = vt.elements(); 
    out.println("在线用户列表"); 
    out.println("<table border=1>"); 
    out.println("<tr><td>用户名</td></tr>"); 
        while(e.hasMoreElements()){ 
    out.println("<tr><td>"); 
    out.println((String)e.nextElement()+"<br>"); 
    out.println("</td></tr>"); 

    out.println("</table>"); 
         
    %>  
    <center>  
      <p>yuking制作</p> 
      <p> </p> 
    <% 
    out.println("<p><a href='logout.jsp?username="+username+"'>退出系统</a></p>"); 
    %> 
    </center>  
    </body>  
    </html>  //////////////////////////////////////////////////////////////////////////////////// 
    <% 
    /**这是用户退出的jsp文件 文件名为logout.jsp 欢迎访问javajia家(http://www.javajia.com),由yuking制作。2001.1.1 
    */ 
    %> 
    <%@ page contentType="text/html;charset=gb2312" %>  
    <%@ page import="onLineUser,java.util.*" %>  
    <jsp:useBean id="onlineuser" class="onLineUser" scope="application"/> 
    <html>  
    <head>  
    <title>搞定JSP在线人数</title> 
    </head> 
    <body>  
    <center>  
      <p><h1>登陆成功,欢迎您访问Java家!</h1></p> 
    </center> 
    <%  
    String username=request.getParameter("username"); 
    if(onlineuser.deleteUser(username)) 
    out.println(username+"已经退出系统!"); 
    else 
    out.println(username+"没有登陆到系统!"); 
    %>  
    <center>  
      <p>yuking制作</p> 
      <p> </p> 
      <p><a href="logout.jsp">退出系统</a></p> 
    </center>  
    </body>  
    </html>  
      

  2.   

    tomcat的控制台,可以统计session数目  ,也许有些用
      

  3.   

    谢谢楼上的各位,在这里总会有很多热心的朋友们帮忙,感觉真好!我这个问题具体化是:是我做的东西只针对一个用户在一个地方用,浏览器关掉的话可以等session过期。所以觉得应该有什么函数变量什么的直接实现,所以不想用bean来做,不知道有什么简单的方法吗?to:zengchagnliu(程序人生)您能详细的说一下吗?