您的位置:首页 > 运维架构 > Tomcat

(转)Servlet监听器统计在线人数

2008-11-09 08:55 260 查看
现在结合统计在线人数的监听器对其进行详细的说明。监听器的实现主要包括两部分——实现监听器接口的java类和web.xml文件的配置。

    监听器接口实现,设为OnlineCountListener.java

     package listener;

     import javax.servlet.http.HttpSessionListener;

     import javax.servlet.http.HttpSessionEvent;

     public class OnlineListener implements HttpSessionListener {

         private int count=0;

         public void sessionCreated(HttpSessionEvent se){

            count++;

           se.getSession().getServletContext().setAttribute("onlineCount",count);

          }

         public void sessionDestroyed(HttpSessionEvent se){

             count--;

            se.getSession().setAttribute("onlineCount",count);

         }

         }

     通过阅读上述代码,我们可以发现监听器的设计比较简单,包括一个私有成员count来作为计数器,统计在线人数,然后包括两个方法 sessionCreated()和sessionDestroyed(),分别对应发生Session对象创建和销毁事件时,监听器进行的处理,在该程序中是对计数器进行加一和减一操作,并设置session属性,以在jsp页面中调用。

web.xml文件的配置 

<listener>

       <listener-class>listener.OnlineListener</listener-class>

    </listener>

编写一个简单的jsp页面进行测试了,测试页面可以简单实现,如:

   <%@page contentType="text/html;charset=gb2312"%>

   <html>

   <body>

      <p>当前在线人数为:<%=application.getAttribute("onlineCount")%></p>

   </body>

   </html>

   做完上述工作之后,我们就可以启动tomcat,访问该页面了,如果同时打开两个浏览器,就会提示当前在线人数为2.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息