1、定义一个监听器,实现HttpSessionBindingListener接口(MySessionListener.java)
package com.ilfy.lbjn.listener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;
/**
* 统计在线人数 <br\>
* 定义一个监听器,实现HttpSessionBindingListener接口
*/
public class MySessionListener implements HttpSessionBindingListener {
public static int num;
@Override
public void valueBound(HttpSessionBindingEvent event) {
// event.getSession().getAttribute("mListener");
num++;
System.out.println("当前在线人数:" + num);
}
@Override
public void valueUnbound(HttpSessionBindingEvent event) {
num--;
System.out.println("当前在线人数:" + num);
}
}
2、在用户成功登录系统后,new出MySessionListener监听器,并将其对象存到session中
//在用户成功登录系统后,new出MySessionListener监听器,并将其对象存到session中
HttpSession session = req.getSession();
MySessionListener mListener = new MySessionListener();
session.setAttribute("mListener", mListener);3、在web.xml中配置session 监听器
<!-- 配置MySessionListener -->
<listener>
<listener-class>com.ilfy.lbjn.listener.MySessionListener</listener-class>
</listener>
本文介绍了一种通过实现HttpSessionBindingListener接口来统计网站在线人数的方法。具体步骤包括定义监听器类MySessionListener,在用户登录后将该监听器实例保存到session中,并在web.xml中配置监听器。
1232





