• 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

    效果:

  • 相关阅读:
    android使用广播退出应用程序
    Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW _TASK flag.
    Android获取屏幕尺寸大小
    onActivityResult不被执行的问题。
    ADB操作多台设备
    在Eclipse的DDMS中查看手机data文件夹中的内容
    JDK版本过高,导致Eclipse报错
    Android colors.xml
    Eclipse智能提示
    在配置IIS负载均衡时,引起的一系列问题
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15403174.html
Copyright © 2020-2023  润新知