zoukankan      html  css  js  c++  java
  • Listener 监听对象的属性变化

      Listener用于监听Session、context、Request的属性变化,接口名称格式为xxxAttributeListener,包括HttpSessionAttributeListener、ServletContextAttributeLIstener、ServletRequesAttributeListener。当向被监听的对象中添加、更新、移除属性时,分别执行xxxAdded()、xxxReplaced()、xxxRemoved()方法。xxx分别代表Session、context、Request。

    package linstener;
    
    import javax.servlet.http.HttpSession;
    import javax.servlet.http.HttpSessionAttributeListener;
    import javax.servlet.http.HttpSessionBindingEvent;
    
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    
    public class SessionAttributeListenerTest implements HttpSessionAttributeListener {
        
        Log log=LogFactory.getLog(this.getClass());
        @Override
        public void attributeAdded(HttpSessionBindingEvent arg0) {
            
            //添加属性时被调用
            HttpSession session=arg0.getSession();
            String name=arg0.getName();
            log.info("新建session 属性:"+name+",值为:"+arg0.getValue());
        }
    
        @Override
        public void attributeRemoved(HttpSessionBindingEvent arg0) {
            //删除属性前被调用
            HttpSession session =arg0.getSession();
            String name=arg0.getName();
            log.info("删除session属性:"+name+",值为:"+arg0.getValue());
        }
    
        @Override
        public void attributeReplaced(HttpSessionBindingEvent arg0) {
            //修改属性时被调用
            HttpSession session =arg0.getSession();
            String name=arg0.getName();
            Object oldValue=arg0.getValue();
            log.info("修改session属性:"+name+", 原值:"+oldValue+",新值:"+session.getAttribute(name));
        }
    
    }

     web.xml 配置

    <listener>
          <listener-class>
              linstener.SessionAttributeListenerTest
    </listener-class>
    </listener>
  • 相关阅读:
    【Linux学习七】软件安装
    【Linux学习六】用户管理
    【Linux学习五】文本处理
    【Linux学习四】正则表达式
    【Linux学习三】VI/VIM全屏文本编辑器
    【Linux学习二】文件系统
    【Linux学习一】命令查看与帮助
    【安装虚拟机四】设置快照和克隆
    【安装虚拟机三】设置Linux IP地址
    SpringBoot之定时任务详解
  • 原文地址:https://www.cnblogs.com/gengaixue/p/6730915.html
Copyright © 2011-2022 走看看