zoukankan      html  css  js  c++  java
  • 监听器 Listener

    监听器:监听某个对象状态的变化

    被监听的对象:request、session、servletContext

    监听对象的创建和销毁/对象属性的变化

    ServletContext HttpSession ServletRequest
    ServletContextListener HttpSessionListener ServletRequestListener
    ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener

    与session相关的监听器,监听session中的对象

    HttpSessionBindingListener 对象在session绑定或对象从session中解绑

    HttpSessionActivationListener 对象的钝化与活化,(大访问量时考虑将session持久化)

    这两个接口是绑到对象中的,不需要在web.xml中配置

    钝化:将session持久化到磁盘

    活化:将session从磁盘到内存

    tomcat的钝化:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context>
    <!-- maxIdleSwap:session中的对象多长时间不使用就钝化 单位:分钟 -->
    <!-- directory:钝化后的对象的文件写到磁盘的哪个目录下 配置钝化的对象文件在work/catalina/localhost/钝化文件 -->
    <Manager
    className="org.apache.catalina.session.PersistentManager"
    maxIdleSwap="1">
    <Store className="org.apache.catalina.session.FileStore"
    directory="demo01" />
    </Manager>
    </Context>

    package cn.sasa.domain;
    
    import java.io.Serializable;
    
    import javax.servlet.http.HttpSessionActivationListener;
    import javax.servlet.http.HttpSessionBindingEvent;
    import javax.servlet.http.HttpSessionBindingListener;
    import javax.servlet.http.HttpSessionEvent;
    
    //HttpSessionBindingListener--- Customer对象绑定到session或从session解绑
    //HttpSessionActivationListener---钝化/活化。钝化:将session持久化到磁盘。活化:session从磁盘到内存。(大访问量时可将session设置持久化)
    //Serializable 序列化到磁盘
    public class Customer implements HttpSessionBindingListener, HttpSessionActivationListener,Serializable{
    
        private static final long serialVersionUID = 1L;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        private String name;
        
        public void valueBound(HttpSessionBindingEvent event) {
            System.out.println("cus 绑定");
        }
      
        public void valueUnbound(HttpSessionBindingEvent event) {
            System.out.println("cus 解绑");
        }
        //钝化
        public void sessionWillPassivate(HttpSessionEvent se) {
            System.out.println("Customer passivate");
        }
        
        //活化
        public void sessionDidActivate(HttpSessionEvent se) {
            System.out.println("Customer Activate");
        }
    
    }
  • 相关阅读:
    海盗分赃问题-----简化问题,分而治之
    计算机组成原理之输入输出系统
    计算机组成原理之外围设备
    计算机组成原理之总线系统
    计算机组成原理之控制器
    计算机组成原理之存储器
    计算机组成原理之运算器
    网络配置4:STP生成树协议配置
    微信内置浏览器私有接口WeixinJSBridge介绍(转)
    使用ajax和history.pushState无刷新改变页面URL(转)
  • 原文地址:https://www.cnblogs.com/SasaL/p/10672394.html
Copyright © 2011-2022 走看看