Edzy_Java

            BlogJava :: 首頁 ::  ::  ::  :: 管理 ::
            58 隨筆 :: 12 文章 :: 11 評論 :: 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"+(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:useBean id="onlineuser" class="onLineUser" scope="application"/>
          <html>
          <head>
          <title>搞定JSP在線人數</title>
          </head>
          <body>
          <center>
          ? <p><h1>登陸成功,歡迎您訪問!</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); file://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>elapsed制作</p>
          ? <p> </p>
          <%
          ?? out.println("<p><a href='logout.jsp?username="+username+"'>退出系統</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在線人數</title>
          </head>
          <body>
          <center>
          ? <p><h1>登陸成功,歡迎您訪問!</h1></p>
          </center>
          <%
          ?? String username=request.getParameter("username");
          ?? if(onlineuser.deleteUser(username))
          ? ? ?? out.println(username+"已經退出系統!");
          ?? else
          ? ? ?? out.println(username+"沒有登陸到系統!");
          %>
          <center>
          ? <p>elapsed制作</p>
          ? <p> </p>
          ? <p><a href="logout.jsp">退出系統</a></p>
          </center>
          </body>
          </html>

          posted on 2006-11-15 17:11 lbfeng 閱讀(257) 評論(0)  編輯  收藏 所屬分類: JSP&Servlet技術
          主站蜘蛛池模板: 肃南| 东台市| 麻城市| 登封市| 云南省| 类乌齐县| 东乡族自治县| 霞浦县| 清徐县| 泊头市| 玉屏| 平邑县| 泗阳县| 香河县| 布拖县| 鄂托克前旗| 伊金霍洛旗| 乌苏市| 信丰县| 房产| 石台县| 舟曲县| 宁海县| 阿坝县| 陵川县| 惠安县| 始兴县| 周至县| 宁河县| 石城县| 红安县| 平远县| 错那县| 乐亭县| 健康| 镇康县| 邛崃市| 华蓥市| 贵溪市| 天气| 红河县|