打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
彻底搞定JSP在线人数
userphoto

2005.12.11

关注
文件名为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>  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
jsp+servlet实现注册登录,不用数据库
Servlet及JSP中的多线程同步问题
JAVA中文站->J动论坛:【推荐】! 网页制作技巧总结!
Laszlo3.0中文全解决
JForum论坛单点登录的几种实现方式 (CAS和Cookie)
《在jsp中用bean和servlet联合实现用户注册、登录》-JAVA中文站(www.j...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服