posts - 5, comments - 14, trackbacks - 0, articles - 11

          關于JSP在線顯示及單人登陸解決辦法

          Posted on 2007-01-26 13:42 東舟 閱讀(221) 評論(0)  編輯  收藏 所屬分類: JAVA
          當用戶登錄時維護一個會話對象:UserInfo類的實例,同時UserInfo類實現javax.servlet.http.HttpSessionBindingListener接口:
          import?JAVA.util.Map;
          import?JAVA.util.HashMap;
          import?javax.servlet.http.*;
          import?javax.servlet.ServletContext;

          public?class?UserInfo?implements?HttpSessionBindingListener?{
          //?用戶信息
          int?userId;
          String?userName;
          ......

          /**
          ?*?當UserInfo類被綁定到session中時觸發這個事件
          ?*?具體信息請參見Servlet/JSPs的規范
          ?*/
          public?void?valueBound(HttpSessionBindingEvent?event)?{
          HttpSession?session?=?event.getSession?();
          ServletContext?ctx?=?session.getServletContext?();
          Map?map?=?(Map)ctx.getAttribute?("users");
          if?(map?==?null)?{?//?如果是服務器啟動后的第一個登錄用戶,新建一個容器
          map?=?new?HashMap?();
          ctx.setAttribute?("users",?map);
          }

          map.put?(userName,?this);?//?把自己加入容器中
          }

          /**
          ?*?當UserInfo類從session中刪除時觸發這個事件
          ?*?具體信息請參見Servlet/JSPs的規范
          ?*/
          public?void?valueUnbound(HttpSessionBindingEvent?event)?{
          HttpSession?session?=?event.getSession?();
          ServletContext?ctx?=?session.getServletContext?();
          Map?map?=?(Map)ctx.getAttribute?("users");
          map.remove?(this.userName);?//?把自己從容器中刪除
          }

          ......
          }

          以后在JSP中就可以這樣顯示在線用戶數了:
          <%
          int?userCount?=?0;
          JAVA.util.Map?map?=?(java.util.Map)application.getAttribute?("users");
          if?(map?==?0)?userCount?=?0;
          else?userCount?=?map.size?();
          %>;


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 巴彦县| 札达县| 砀山县| 曲靖市| 霞浦县| 晋城| 贞丰县| 邳州市| 旌德县| 景泰县| 淳安县| 长寿区| 佛坪县| 边坝县| 葵青区| 康平县| 武强县| 虎林市| 五常市| 伊金霍洛旗| 汉源县| 邯郸县| 大同市| 永昌县| 登封市| 辽源市| 浪卡子县| 陇川县| 垦利县| 临夏县| 潜山县| 运城市| 天门市| 卢湾区| 新邵县| 墨竹工卡县| 介休市| 婺源县| 乐昌市| 陆河县| 历史|