首页 > 其他分享 >十二、listener监听器

十二、listener监听器

时间:2022-12-04 19:45:53浏览次数:37  
标签:监听器 httpSessionEvent 十二 listener session context Integer onlineCount

1、创建监听器,实现监听器接口

package com.lyh.listener;
​
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
//统计网站在线人数,统计看session
public class OnlineCountListener implements HttpSessionListener {
    //创建session监听,看你的一举一动
    //一旦创建session就会触发一次事件
    @Override
    public void sessionCreated(HttpSessionEvent httpSessionEvent) {
        ServletContext context = httpSessionEvent.getSession().getServletContext();
        System.out.println(httpSessionEvent.getSession().getId());
        Integer onlineCount = (Integer) context.getAttribute("OnlineCount");
        if (onlineCount==null){
            onlineCount=new Integer(1);
        }else {
            int count = onlineCount.intValue();
            onlineCount=new Integer(count+1);
        }
        context.setAttribute("OnlineCount",onlineCount);
    }
    //销毁session监听
    @Override
    public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
        ServletContext context = httpSessionEvent.getSession().getServletContext();
        System.out.println(httpSessionEvent.getSession().getId());
        Integer onlineCount = (Integer) context.getAttribute("OnlineCount");
        if (onlineCount==null){
            onlineCount=new Integer(0);
        }else {
            int count = onlineCount.intValue();
            onlineCount=new Integer(count-1);
        }
        context.setAttribute("OnlineCount",onlineCount);
    }
}

2、在web.xml中注册监听器

<!--    监听器配置-->
<listener>
    <listener-class>com.lyh.listener.OnlineCountListener</listener-class>
</listener>

3、看着使用

标签:监听器,httpSessionEvent,十二,listener,session,context,Integer,onlineCount
From: https://www.cnblogs.com/lyhidea/p/16950482.html

相关文章

  • 十三、过滤器,监听器的常见应用
    十三、过滤器,监听器的常见应用用户登录之后,向Session中放入用户的数据进入主页面的时候要判断用户是否已经登录;要求:在过滤器中实现@OverridepublicvoiddoFilter(......
  • Quartz使用监听器插入定时任务执行日志
    Quartz使用监听器插入定时任务执行日志使用springboot,将监听器交给spring容器管理,并像其中注入日志服务类,环境准备工作实现任务调度需要导入两个quartz的maven依赖<depen......
  • 二十二. vlan间的路由
    1.vlan之间的通讯限制每个vlan都是一个独立的广播域,不同的vlan之间二层之间就已经隔离,因此属于不同vlan之间的节点是无法直接互访的2.vlan之间通讯的方法第一种方......
  • 第十二章 Amortized Analysis平摊分析
    第12章AmortizedAnalysis平摊分析第10周记于2022/11/29概率分析与平摊分析的区别概率分析平均执行时间考虑同一算法的所有可能输入情况如果使用概率,则称为期......
  • 代码随想录训练营第五十二天 | 动态规划
    今天是第五十二天,依旧是动态规划专题  300.最长递增子序列 classSolution{publicintlengthOfLIS(int[]nums){int[]dp=newint[nums.le......
  • spring mvc环境之监听器、过滤器、拦截器(六)
    1.监听器Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。......
  • 十二条后端开发经验分享,纯干货,总有一条你不知道
    前言本文是博主从事后端开发以来,对公司、个人项目的经验总结,包含代码编写、功能推荐、第三方库使用及优雅配置等,希望大家看到都能有所收获博主github地址:https://gith......
  • springboot消息之@RabbitListener&@EnableRabbit监听消息队列的内容
    1-新建service包BookService类packagecom.example.springbootamqp.service;importcom.example.springbootamqp.bean.Book;importorg.springframework.amqp.rabbit......
  • java并发编程(二十二)-并发安全的基本概念
    类的线程安全定义  如果多线程下使用这个类,不过多线程如何使用和调度这个类,这个类总是表示出正确的行为,这个类就是线程安全的。类的线程安全表现为:操作的原子性内存的可见......
  • 十二生肖查询网页版制作(php)
    今天无聊做了一个十二生肖查询器:预览网址效果:​​http://hongxing01.hktd02u.me48.com/03Sxcx​​源代码下载:​​http://down.51cto.com/data/1985014​​这个Demo的学习很......