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

          關(guān)于JSP在線顯示及單人登陸解決辦法

          Posted on 2007-01-26 13:42 東舟 閱讀(221) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): JAVA
          當(dāng)用戶(hù)登錄時(shí)維護(hù)一個(gè)會(huì)話對(duì)象:UserInfo類(lèi)的實(shí)例,同時(shí)UserInfo類(lèi)實(shí)現(xiàn)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?{
          //?用戶(hù)信息
          int?userId;
          String?userName;
          ......

          /**
          ?*?當(dāng)UserInfo類(lèi)被綁定到session中時(shí)觸發(fā)這個(gè)事件
          ?*?具體信息請(qǐng)參見(jiàn)Servlet/JSPs的規(guī)范
          ?*/
          public?void?valueBound(HttpSessionBindingEvent?event)?{
          HttpSession?session?=?event.getSession?();
          ServletContext?ctx?=?session.getServletContext?();
          Map?map?=?(Map)ctx.getAttribute?("users");
          if?(map?==?null)?{?//?如果是服務(wù)器啟動(dòng)后的第一個(gè)登錄用戶(hù),新建一個(gè)容器
          map?=?new?HashMap?();
          ctx.setAttribute?("users",?map);
          }

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

          /**
          ?*?當(dāng)UserInfo類(lèi)從session中刪除時(shí)觸發(fā)這個(gè)事件
          ?*?具體信息請(qǐng)參見(jiàn)Servlet/JSPs的規(guī)范
          ?*/
          public?void?valueUnbound(HttpSessionBindingEvent?event)?{
          HttpSession?session?=?event.getSession?();
          ServletContext?ctx?=?session.getServletContext?();
          Map?map?=?(Map)ctx.getAttribute?("users");
          map.remove?(this.userName);?//?把自己從容器中刪除
          }

          ......
          }

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


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 永吉县| 乐陵市| 无棣县| 西昌市| 肇州县| 辉南县| 桑植县| 澎湖县| 蒲江县| 武宣县| 迁安市| 长治县| 沈阳市| 丽水市| 义马市| 海口市| 云霄县| 许昌县| 新民市| 甘泉县| 台前县| 保德县| 肃宁县| 中超| 武宁县| 庐江县| 曲沃县| 黄石市| 临泽县| 南宁市| 定西市| 密山市| 临清市| 汉寿县| 古蔺县| 永川市| 蓬溪县| 平塘县| 壤塘县| 綦江县| 巩义市|