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

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

          Posted on 2007-01-26 13:42 東舟 閱讀(217) 評論(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?();
          %>;


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


          網站導航:
           
          主站蜘蛛池模板: 东源县| 山西省| 沾化县| 长岛县| 穆棱市| 汨罗市| 广丰县| 台东县| 广河县| 郁南县| 栖霞市| 城步| 乌什县| 台江县| 周口市| 鹿泉市| 莱芜市| 浑源县| 揭西县| 兴和县| 沙洋县| 汾阳市| 漳浦县| 开阳县| 南郑县| 烟台市| 江门市| 榆林市| 禄丰县| 南靖县| 唐河县| 诸城市| 洪湖市| 惠安县| 彭山县| 潢川县| 偃师市| 徐州市| 林西县| 察隅县| 武冈市|