/**这是管理user信息的类
文件名为onLineUser.java
*/
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;iif(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
*/ %> <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="onLineUser,java.util.*" %>
搞定JSP在线人数
登陆成功,欢迎您访问Java家! <% session = request.getSession(false); %> <% String username=request.getParameter("username"); if (onlineuser.existUser(username)){ out.println("用户"+username+"已经登陆!"); }else{ session.setMaxInactiveInterval(50); file://Sesion有效时长,以秒为单位 session.setAttribute(username,onlineuser); out.println("欢迎新用户:"+username+"登陆到系统!"); } out.println(" 当前在线用户人数:"+onlineuser.getCount()+" "); Vector vt=onlineuser.getOnLineUser(); Enumeration e = vt.elements(); out.println("在线用户列表"); out.println(""); out.println("用户名 | "); while(e.hasMoreElements()){ out.println(""); out.println((String)e.nextElement()+" "); out.println(" | "); } out.println(" ");
%>
yuking制作
<% out.println("退出系统 "); %>
/////////////////////////////////////////////////////////////////// <% /**这是用户退出的jsp文件
文件名为logout.jsp */ %> <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="onLineUser,java.util.*" %>
搞定JSP在线人数
登陆成功,欢迎您访问Java家! <% String username=request.getParameter("username"); if(onlineuser.deleteUser(username)) out.println(username+"已经退出系统!"); else out.println(username+"没有登陆到系统!"); %>
yuking制作
退出系统
|