当前页面: 开发资料首页 → JSP 专题 → 彻底搞定JSP的在线人数
摘要: 彻底搞定JSP的在线人数
/**这是管理user信息的类 
文件名为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
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
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.*" %>  
  
<head>  
</head> 
<body>  
  登陆成功,欢迎您访问Java家!
yuking制作
 
退出系统
");yuking制作
 
退出系统