• Listener监听器


    (1)HttpSessionBindingListener监听器

        HttpSession中绑定和解除绑定时,将会通知HttpSessionListener监听器

        常用方法如下:

    方法声明 功能介绍
    void valueBound(HttpSessionBindingEvent event) 有对象绑定时调用该方法
    void valueUnbound(HttpSessionBindingEvent event) 有对象解除绑定时调用该方法

    例子:

    <1> 创建Person.java分装类

    <2> 将对象绑定 / 解除绑定

     

     <3> 创建sessionBind.jsp,测试绑定 / 解除绑定

    <4> 不需要在web.xml中配置此监听器

    效果:
      访问seesionBind.jsp:

    (2)HttpSessionActivationListener监听器

        当有session数值的钝化(又名持久化,将session里的数值写入到硬盘中)和活化(反序列化,从硬盘里把数据读取出来,放置到内存中)操作时,

                  将会通知HttpSessionActivationListener监听器。

        常用方法如下:

    方法声明 功能介绍
    void sessionWillPassivate(HttpSessionEvent se) 有钝化操作时调用该方法
    void sessionDidActivate(HttpSessionEvent se) 有活化操作时调用该方法

        

        配置context.xml文件的方式如下:

    <Manager className="org.apache.catalina.session.PersistentManager"
    saveOnRestart="true">
        <!-- 配置文件存放的路径信息,可以自由指定 -->
        <Store className="org.apache.catalina.session.FileStore"
    directory="C:session"/>
    </Manager>

     例子:
    <1> 创建Student.java类

     <2> 创建sessionActivate.jsp,创建数据

     <3> 在Student.java类中,实现HttpSessionActivationListener接口

     <4> 停止服务器,由于之前已经设置了序列化操作,所以钝化操作操作会自动进行

     <5> 效果:数据已储存在本地

     <6> 准备进行活化操作

        1. 需要先配置文件存放的路径信息(context.xml)

       2. 创建sessionGet.jsp,触发数据的活化操作

    <7> 重启服务器,访问sessionGet.jsp

    效果:

  • 相关阅读:
    webpack的入门实践,看这篇就够了
    vue系列教程-15vuex的使用
    vue系列教程-14axios的使用
    vue系列教程-13vuecli初体验
    vue系列教程-12vue单文件组件开发
    vue系列教程-11vuerouter路由
    vue系列教程-10vue过滤器和自定义指令
    vue系列教程-09vue组件
    Spring Redis开启事务支持错误用法导致服务不可用
    MySQL主从数据库配置与原理
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15403174.html
Copyright © 2020-2023  润新知