zoukankan      html  css  js  c++  java
  • 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

    效果:

  • 相关阅读:
    IOS数据持久化之归档NSKeyedArchiver
    Java中导入、导出Excel
    IOS开发中多线程的使用
    深入分析动态管理Fragment
    IOS开发之数据sqlite使用
    如何在Eclipse和Tomcat的Debug过程中启用热部署
    在PHP中无法连接Memcached的解决办法
    Apache mod_rewrite规则重写的标志一览
    Java多线程中run(), start(), join(), wait(), yield(), sleep()的使用
    Centos5.8下编译安装PHP5.4和memcached, phalcon, yaf, apc
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15403174.html
Copyright © 2011-2022 走看看