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 閱讀(256) 評論(0)  編輯  收藏 所屬分類: JSP&Servlet技術
          主站蜘蛛池模板: 隆安县| 龙州县| 梧州市| 广丰县| 察哈| 沙河市| 丰原市| 民勤县| 柳州市| 辽源市| 贵定县| 托克托县| 陈巴尔虎旗| 永安市| 香格里拉县| 英山县| 七台河市| 玉门市| 五大连池市| 错那县| 隆尧县| 冷水江市| 佛教| 大田县| 洪江市| 璧山县| 泊头市| 西城区| 冀州市| 格尔木市| 海阳市| 顺昌县| 咸宁市| 汉川市| 连云港市| 大丰市| 高雄县| 渝中区| 婺源县| 贵德县| 兴文县|