Servlet事件监听器来写一个统计网站当前人数-完整代码

许多网站都具有统计在线人数的功能,通常情况下,一个用户在进入网站时,会被创建一个HttpSession对象,当用户离开网站时,HttpSession对象就会被销毁,HttpSessionListener监听器便可以监听web应用中的HttpSession对象的创建和销毁过程,因此,我们可以利用实现HttpSessionListener接口的监听器来统计网站的在线人数。

首先,我们创建一个实现HttpSessionListener接口的监听器类CountListener,CountListener类用于实现网站在线人数的统计,在这个类中还需要定义一个统计人数对象的count,每当监听到HttpSession对象被创建时,count对象加1,监听到HttpSession对象被销毁时,count减1,还需要将count成员变量的值保存在ServletContext对象中,以便其他JSP页面程序的调用count成员变量,以显示当前的在线用户数量。

CountListener.java

import javax.servlet.;
import javax.servlet.http.
;
public class CountListener implements HttpSessionListener{
private int count=0;
public void sessionCreated(HttpSessionEvent hse){
count++;
ServletContext context=hse.getSession().getServletContext();
context.setAttribute(“count”,new Integer(count));

public void SessionDestroyed(HttpSessionEvent hse){
count–;
ServletContext context=hse.getSession().getServletContext();
context.setAttribute(“count”,new Integer(count));

配置CountListener事件监听器

< listener>
< listener-class>
qh.com.example.listener.CountListener
</ listener-class>
</ listener>

我们编写简单的JSP登录页面
index.jsp

< body>
< h3>
当前牛马人数为:
<%=application.getAttribute(“count”)%>
</ h3>
< a href=“<=respons.encodeUrl(“logout.jsp”)%>”>退出登录
</ body>

logout.jsp
< body >
<%session.invalidate();%>
< h3>你已经退出系统</ h3>
</ body>

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值