[JAVA]Session监听在线人数

统计网站在线人数,我们可以判断是否存在新的session被创建,创建则+1,销毁则-1。

首先建立监听类实现HttpSessionListener。监听session的创建和销毁。
sessionCreated–创建
sessionDestroyed–销毁

package xyz.xioaxin12.listener;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class MyListener implements HttpSessionListener {
    @Override
    public void sessionCreated(HttpSessionEvent se) {
        ServletContext context = se.getSession().getServletContext();
        Integer num = (Integer) context.getAttribute("num");
        if(num == null){
            context.setAttribute("num",1);
        }else {
            context.setAttribute("num",++num);
        }
        System.out.println(num);
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        ServletContext context = se.getSession().getServletContext();
        Integer num = (Integer) context.getAttribute("num");
        if(num == null){
            context.setAttribute("num",1);
        }else {
            context.setAttribute("num",--num);
        }
        System.out.println(num);
    }
}

 

web.xml 配置监听器

  <listener>
    <listener-class>xyz.xioaxin12.listener.MyListener</listener-class>
  </listener>

 

jsp El 接受数据
在线人数:${num}

 

如图


 

session过期默认时间为30分钟。否则需要额外的操作,如点击按钮调用方法清除session等等。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xiaoxin1218@qq.com

文章标题:[JAVA]Session监听在线人数

文章字数:221

本文作者:周信

发布时间:2019-10-21, 19:31:03

最后更新:2023-05-03, 10:25:35

原始链接:http://zx21.xyz/2019/10/21/JAVA-Session监听在线人数/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

可为我打赏鼓励~