- 现在结合统计在线人数的监听器对其进行详细的说明。监听器的实现主要包括两部分——实现监听器接口的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.
(转)Servlet监听器统计在线人数
最新推荐文章于 2025-04-10 06:10:37 发布