Edzy_Java

            BlogJava :: 首頁(yè) ::  ::  ::  :: 管理 ::
            58 隨筆 :: 12 文章 :: 11 評(píng)論 :: 0 Trackbacks

          /**
          這是管理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<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ǒng)\t"+(new Date()));
          ? ? ? ? ?? System.out.println(" ? ?? 在線用戶數(shù)為:"+getCount());
          ? ? ?? }else
          ? ? ? ? ?? System.out.println(e.getName()+"已經(jīng)存在");
          ? ?? }

          ? ?? public void valueUnbound(HttpSessionBindingEvent e) {
          ? ? ?? users.trimToSize();
          ? ? ?? String userName=e.getName();
          ? ? ?? deleteUser(userName);
          ? ? ?? System.out.print(userName+"\t ? 退出系統(tǒng)\t"+(new Date()));
          ? ? ?? System.out.println(" ? ?? 在線用戶數(shù)為:"+getCount());
          ? ?? }
          }

          /////////////////////////////////////////////////////////////////////////////
          <%
          /**這是顯示在線用戶的jsp文件
          文件名為onLineUser.jsp
          */
          %>
          <%@ page contentType="text/html;charset=gb2312" %>
          <%@ page import="onLineUser,java.util.*" %>
          <jsp:useBean id="onlineuser" class="onLineUser" scope="application"/>
          <html>
          <head>
          <title>搞定JSP在線人數(shù)</title>
          </head>
          <body>
          <center>
          ? <p><h1>登陸成功,歡迎您訪問(wèn)!</h1></p>
          </center>
          <% ? session = request.getSession(false); %>
          <%
          ?? String username=request.getParameter("username");
          ?? if (onlineuser.existUser(username)){
          ? ? ?? out.println("用戶<font color=red>"+username+"</font>已經(jīng)登陸!");
          ?? }else{
          ? ? ?? session.setMaxInactiveInterval(50); file://Sesion有效時(shí)長(zhǎng),以秒為單位
          ? ? ?? session.setAttribute(username,onlineuser);
          ? ? ?? out.println("歡迎新用戶:<font color=red>"+username+"</font>登陸到系統(tǒng)!");
          ?? }
          ?? out.println("<br>當(dāng)前在線用戶人數(shù):<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>elapsed制作</p>
          ? <p> </p>
          <%
          ?? out.println("<p><a href='logout.jsp?username="+username+"'>退出系統(tǒng)</a></p>");
          %>
          </center>
          </body>
          </html>

          ////////////////////////////////////////////////////////////////////////////////////
          <%
          /**
          這是用戶退出的jsp文件
          文件名為logout.jsp
          */
          %>
          <%@ page contentType="text/html;charset=gb2312" %>
          <%@ page import="onLineUser,java.util.*" %>
          <jsp:useBean id="onlineuser" class="onLineUser" scope="application"/>
          <html>
          <head>
          <title>搞定JSP在線人數(shù)</title>
          </head>
          <body>
          <center>
          ? <p><h1>登陸成功,歡迎您訪問(wèn)!</h1></p>
          </center>
          <%
          ?? String username=request.getParameter("username");
          ?? if(onlineuser.deleteUser(username))
          ? ? ?? out.println(username+"已經(jīng)退出系統(tǒng)!");
          ?? else
          ? ? ?? out.println(username+"沒(méi)有登陸到系統(tǒng)!");
          %>
          <center>
          ? <p>elapsed制作</p>
          ? <p> </p>
          ? <p><a href="logout.jsp">退出系統(tǒng)</a></p>
          </center>
          </body>
          </html>

          posted on 2006-11-15 17:11 lbfeng 閱讀(261) 評(píng)論(0)  編輯  收藏 所屬分類: JSP&Servlet技術(shù)
          主站蜘蛛池模板: 宽甸| 儋州市| 甘肃省| 巨鹿县| 紫阳县| 资溪县| 广东省| 英山县| 贺州市| 康平县| 佛山市| 比如县| 聂荣县| 湟源县| 和静县| 安溪县| 鸡东县| 闻喜县| 斗六市| 民丰县| 天水市| 西吉县| 九龙县| 澄迈县| 龙游县| 清水县| 尤溪县| 镇坪县| 柳河县| 雷波县| 曲阳县| 桑日县| 榆社县| 南澳县| 太白县| 体育| 土默特左旗| 澎湖县| 博客| 集贤县| 台州市|