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?();
          %>;


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


          網站導航:
           
          主站蜘蛛池模板: 昭平县| 大英县| 丹巴县| 建水县| 边坝县| 盘山县| 芒康县| 历史| 广州市| 西林县| 南郑县| 韩城市| 久治县| 宁夏| 浦东新区| 恩施市| 邳州市| 昌江| 甘孜| 从化市| 昌图县| 屯门区| 绥阳县| 吉林省| 阿合奇县| 丽江市| 尚义县| 涟源市| 吴桥县| 鱼台县| 陵川县| 凤山县| 拉萨市| 积石山| 上杭县| 宜宾县| 靖远县| 海门市| 克山县| 甘南县| 安徽省|