美文网首页
监听器 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