/**
* 监听在线人数的变化
*
*/
public class OnlineListener implements HttpSessionListener {
private Integer onlineNumber = 0; // 默认人数
/**
* 当用户登录时,在线人数加1
*/
public void sessionCreated(HttpSessionEvent se) {
// 人数加1
onlineNumber++;
// 将在线人数存到作用域中
se.getSession().getServletContext().setAttribute("onlineNumber", onlineNumber);
}
/**
* 当用户登录时,在线人数减1
*/
public void sessionDestroyed(HttpSessionEvent se) {
// 人数减1
onlineNumber--;
// 将在线人数存到作用域中
se.getSession().getServletContext().setAttribute("onlineNumber", onlineNumber);
}
}
OnlineListener 实现了 HttpSessionListener定义的两个方法:sessionCreated()和sessionDestroyed()。这两个方法可以监听到当前应用中session的创建和销毁情况。
另:在web.xml中配置如下
<listener>
<listener-class>com.shsxt.listener.OnlineListener</listener-class>
</listener>