美文网首页
监听器 Listener

监听器 Listener

作者: 微笑中的你 | 来源:发表于2018-12-26 15:22 被阅读0次

    监听某个对象状态变化的组件。。。

    域监听器

    监听域对象的变化,

    • 事件源 被监听的对象 ;有request域,session域,servletContext域
    • 监听器 监听事件源的对象,8个
    • 注册监听器 监听器和事件源绑定
    • 响应行为 监听到事件源变化时,去做什么事情
    三个监听域对象的创建和销毁
    • ServletContextListener
    • HttpSessionListener
    • ServletRequestListener
    三个监听域对象中属性变化
    • ServletContextAttributeListener
    • HttpSessionAttributeListener
    • ServletRequestAttributeListener
    ServletContext 域监听器
    • 生命周期:服务器启动时创建---服务器关闭时销毁
    • 编写步骤:编写一个监听器类,实现该监听器接口,实现接口里方法;并在web.xml中注册。
    • 作用:一些初始化工作,加载配置文件
    实现接口ServletContextListener的类
    
    package com.lz.listener;
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;
    
    public class ServletContextListenerTest implements ServletContextListener {
        @Override
        public void contextInitialized(ServletContextEvent servletContextEvent) {
            System.out.println("服务器启动了");
        }
        @Override
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
            System.out.println("服务器关闭了");
        }
    }
    
    web.xml 中进行注册
    
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <!--注册监听器-->
        <listener>
            <listener-class>com.lz.listener.ServletContextListenerTest</listener-class>
        </listener>
    
    </web-app>
    
    
    HttpSessionListener
    • 生命周期:第一次调用request.getSession()时创建-----销毁:服务器关闭,手动销毁,过期

    tomcat6之后,在config目录下的context.xml中,对象session进行了持久化。。。所以服务器关闭后session仍然存在,需要打开下面注释掉的配置来消除持久化。

    • 编写步骤:编写一个监听器类,实现该监听器接口,实现接口里方法;并在web.xml中注册。

    相关文章

      网友评论

          本文标题:监听器 Listener

          本文链接:https://www.haomeiwen.com/subject/yejhlqtx.html