自定义一个监听器实现HttpSessionListener接口,如果不同的用户进行登录访问,则记录用户个数,如果用户退出了,则减少人数。对应其session的创建和销毁。
@WebListener
public class CountOnlineListener implements HttpSessionListener {
@Override
//===================用户登录 记录个数==============================
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
HttpSession session = httpSessionEvent.getSession();
System.out.println("session对象创建了"+session);
ServletContext application = session.getServletContext();
Integer onlineUsers =(Integer) application.getAttribute("onlineUsers");
if(onlineUsers==null){
onlineUsers=new Integer(1);
}else {
onlineUsers=onlineUsers+1;
}
application.setAttribute("onlineUsers",onlineUsers);
System.out.println("在线人数:"+onlineUsers);
}
@Override
//=================用户退出 减少人数=========================
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
System.out.println("session对象销毁了"+httpSessionEvent.getSession());
HttpSession session = httpSessionEvent.getSession();
ServletContext application = session.getServletContext();
Integer onlineUsers =(Integer) application.getAttribute("onlineUsers");
onlineUsers--;
application.setAttribute("onlineUsers",onlineUsers);
System.out.println("在线人数:"+onlineUsers);
}
2.页面展示数据
注意:访问的是jsp页面,jsp被编译成java代码,其session会帮我们自动创建好.
暑期编程PK赛 得CSDN机械键盘等精美礼品!在线人数:${applicationScope.onlineUsers}



