HttpSessionListener监听器和HttpSessionAttributeListener监听器

这篇具有很好参考价值的文章主要介绍了HttpSessionListener监听器和HttpSessionAttributeListener监听器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.作用:监听Session创建或销毁,即生命周期监听
2.相关方法:
//void sessionCreated(HttpSessionEvent se):创建session时调用
//void sessionDestroyed(HttpSessionEvent se):销毁sessio时调用
3.使用场景:

和前面的ServletContextListener等一样,可以用于监控用户上线和离线

4.代码
HttpSessionListener监听器
package com.listener;

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

public class hspHttpSessionListener implements HttpSessionListener {
    @Override
    public void sessionCreated(HttpSessionEvent se) {
        HttpSession session = se.getSession();
        //当session被创建时,设置一个统一的生命周期
        session.setMaxInactiveInterval(30);
        System.out.println("hspHttpSessionListener 监听到session创建="+
                session.getId());
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        HttpSession session = se.getSession();
        System.out.println("hspHttpSessionListener 监听到session销毁="+
                session.getId());
    }
}

实现类

package com.servlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet(name = "HiServlet",urlPatterns = "/HiServlet")
public class HiServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	  //获取session对象
        HttpSession session = request.getSession();
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

HttpSessionAttributeListener监听器

1.作用:监听Session属性的变化,使用少
2.相关方法:
//void attributeAdded(ServletRequestAttritubeEvent srae):添加属性时
//void attributeReplaced(ServletRequestAttritubeEvent srae):替换属性时
//void attributeRemoved(ServletRequestAttritubeEvent srae):移除属性时
3.代码
监听器
package com.listener;

import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;

public class hspHttpServletAttributeListener implements HttpSessionAttributeListener {
    @Override
    public void attributeAdded(HttpSessionBindingEvent se) {
        System.out.println("hspHttpServletAttributeListener 监听到session添加属性="+
                se.getName()+"="+se.getValue());
    }

    @Override
    public void attributeRemoved(HttpSessionBindingEvent se) {
        System.out.println("hspHttpServletAttributeListener 监听到session删除属性="+
                se.getName());
    }

    @Override
    public void attributeReplaced(HttpSessionBindingEvent se) {
        System.out.println("hspHttpServletAttributeListener 监听到session修改属性="+
                se.getName()+"="+se.getValue());
    }
}

实现类文章来源地址https://www.toymoban.com/news/detail-757185.html

package com.servlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet(name = "HiServlet",urlPatterns = "/HiServlet")
public class HiServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         //获取session对象
        HttpSession session = request.getSession();
        //添加数据
        session.setAttribute("age",100);
        session.setAttribute("age",40);
        session.removeAttribute("age");
        System.out.println("HiServlet操作完毕...");
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

到了这里,关于HttpSessionListener监听器和HttpSessionAttributeListener监听器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android手势监听、触摸监听器、onTouchListener

    一次点击事件(onClickListener)由 一次down事件,多次move事件和一次up事件构成,move事件出现的次数由用户的按压效果决定。down表示手势事件开始,up表示结束,move则代表着过程。此时代码中onTouchLishtener方法中返回的结果为ture,则表示拦截用户的该次行为,由此方法进行处理

    2024年02月04日
    浏览(31)
  • Servlet的监听器

    Servlet常用的监听器 ServletContextAttributeListener 用来感知 ServlerContext 对象属性变化,比如添加或删除属性变化 ServletContextListener 用来感知 ServlerContext 对象的创建和销毁的 ServletRequestListener 可以用来监听感知 ServletRequest 对象的创建和销毁的 ServletRequestAttributeListener 用来感知 Serv

    2024年02月17日
    浏览(31)
  • SpringBoot 监听器

    Spring的监听器也可以说是一种观察者模式,它能实现事件与事件监听者直接的解耦,在Spring中监听器的实现主要有一下重要组件: ApplicationListener:事件监听者,观察者; ApplicationEvent:Spring 事件,记录事件源、事件内容、时间等数据; 有些场景事件主体主要是String或基本类

    2024年02月09日
    浏览(28)
  • 计算属性和监听器

    计算属性是Vue中非常常用的一个概念,它能够根据现有的数据直接生成一个新的数据进行展示和操作。在Vue的实例中,可以使用 computed 来定义计算属性。 例如,我们有一个Vue实例 vm ,其中有一个数据 message ,我们可以通过计算属性 reversedMessage 来生成消息的反转字符串: 在

    2024年02月15日
    浏览(26)
  • 认识监听器(Listener)

    监听器是什么? 监听器(Listener)是一种运行在后台的程序,它主要用于监控某些事件在系统中的发生,并且根据这些事件做一些特定的处理。在Web应用程序中,监听器可以观察ServletContext、HttpSession以及ServletRequest等对象的变化,以便于在这些对象变化时进行相应的处理。监

    2024年02月02日
    浏览(25)
  • 【JavaWeb】9—监听器

    ⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 如果文章对你有所帮助,可以点赞👍收藏⭐支持一下博主~😆 可见Java设计模式中的观察者模式。 观察者:监控『被观察者』

    2023年04月09日
    浏览(30)
  • Kafka 监听器详解

    Kafka Assistant 是一款 Kafka GUI 管理工具——管理Broker,Topic,Group、查看消费详情、监控服务器状态、支持多种消息格式。 你需要将 advertised.listeners (如果你使用Docker镜像,则为 KAFKA_ADVERTISED_LISTENERS )设置为外部地址(host/IP),以便客户端可以正确地连接到它。否则,他们会尝试

    2024年02月06日
    浏览(31)
  • Flowable监听器

    本人最近在找工作,有推荐的小伙伴私我,不胜感激。 开始、结束节点 连线节点 节点的开始和结束 网关的开始和结束 中间事件的开始和结束 开始时间结束或结束事件开始 Event事件 start 开始 take 启用 end 结束 类型 类:Class:com.sgp.StartListeners 类名全限定 监听器类上无论是否

    2024年02月16日
    浏览(28)
  • [Java]监听器(Listener)

    监听器就是监听某个对象的的状态变化的组件 监听器的相关概念: 事件源: 被监听的对象 ----- 三个域对象 request session servletContext 监听器 : 监听事件源对象的状态的变化都会触发监听器 注册监听器 : 将监听器与事件源进行绑定 响应行为 : 监听器监听到事件源的状态变化时

    2023年04月22日
    浏览(71)
  • Spring Boot 监听器详解

    Spring Boot 3.x系列文章 Spring Boot 2.7.8 中文参考指南(一) Spring Boot 2.7.8 中文参考指南(二)-Web Spring Boot 源码阅读初始化环境搭建 Spring Boot 框架整体启动流程详解 Spring Boot 系统初始化器详解 Spring Boot 监听器详解 通过前面的几篇文章,我们都能看到 SpringApplicationRunListener ,SpringApp

    2024年02月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包