JavaWeb监听器Listener

简介: JavaWeb监听器Listener

Listener 监听器介绍


  Listener 监听器是 JavaWeb 三大组件之一。JavaWeb 的三大组件分别是:Servlet 程 序、Listener 监听器、Filter 过滤器。


       监听器是用于监听某种变化(对象创建/销毁, 增删改等等属性变化),某个变化都有自己对应的调用方法。


       继承对应监听器的接口并重写方法,就可以使用监听器完成自己想要的功能,方法的实现功能由程序员决定。


JavaWeb 的监听器


ServletContextListener 监听(比较常用)


    作用:监听 ServletContext 创建或销毁( Web 应用启动时,会自动创建 ServletContext), 即生命周期监听。例如:加载初始化的配置文件。


ServletContextListener 监听 方法


   void contextInitialized(ServletContextEvent servletContextEvent) 监听Servletcontext 被创建行为


       void contextDestroyed(ServletContextEvent servletContextEvent) 监听Servletcontex被销毁 行为


ServletContextAttributeListener 监听器


       作用:监听 ServletContext 属性变化


ServletContextAttributeListener 监听方法


       void attributeAdded(ServletContextAttributeEvent event) 添加属性

       void attributeReplaced(ServletContextAttributeEvent event) 替换属性

      void attributeRemoved(ServletContextAttributeEvent event) 移除属性

public class MyServletContextAttributeListener implements ServletContextAttributeListener {
    @Override
    public void attributeAdded(ServletContextAttributeEvent               servletContextAttributeEvent) {
        System.out.println("添加了 servletContext 属性名= "                +servletContextAttributeEvent.getName() + " 属 性 值 =" +
        servletContextAttributeEvent.getValue());
    }
    @Override
    public void attributeRemoved(ServletContextAttributeEvent     servletContextAttributeEvent)
    {
        System.out.println("删除了 servletContext 属性");
    }
    @Override
    public void attributeReplaced(ServletContextAttributeEvent     servletContextAttributeEvent)
    {
        System.out.println("替换了 servletContext 属性 ");
    }
}


HttpSessionListener 监听器


 作用:监听 Session 创建或销毁,即生命周期监听(和ServletContextListener 监听一样,只是监听对象不同)。

public class MyHttpSessionListener implements  HttpSessionListener {
    @Override
    public void sessionCreated(HttpSessionEvent httpSessionEvent) {
        System.out.println("SessionEvent 创建,完成 WEB 初始化的工作..");
    }
    @Override
    public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
        System.out.println("SessionEvent 销毁..");
    }
}


HttpSessionAttributeListener 监听器


   作用:监听 Session 属性的变化


HttpSessionAttributeListener 监听器方法


       void attributeAdded(ServletRequestAttributeEvent srae) 添加属性


       void attributeReplaced(ServletRequestAttributeEvent srae) 替换属性


       void attributeRemoved(ServletRequestAttributeEvent srae) 移除属性


ServletRequestListener 监听


作用:监听 Request 创建或销毁,即 Request 生命周期监听。


ServletRequestListener 监听方法(和前面差不多,只是对象的区别):


       void requestInitialized(ServletRequestEvent sre) 创建 request


       void requestDestroyed(ServletRequestEvent sre) 销毁 request


个人理解,如有错误,欢迎指教,谢谢。

相关文章
|
17天前
|
存储 前端开发 JavaScript
基于JavaWeb实现停车场管理系统
基于JavaWeb实现停车场管理系统
|
12天前
|
前端开发 Java 关系型数据库
JavaWeb开发简介
JavaWeb开发简介
17 0
|
15天前
|
存储 Java 数据库
Java一分钟之-JPA实体监听器:@PrePersist, @PostLoad
【6月更文挑战第15天】JPA实体监听器通过`@PrePersist`等注解在实体生命周期关键点执行逻辑,例如设置默认值或处理并发更新。常见问题包括监听器未注册、并发冲突和性能影响。示例展示了如何在`@PrePersist`中设置默认创建时间和`@PostLoad`时初始化关联数据。使用监听器能增强灵活性,但也需注意潜在问题和优化。
22 6
|
4天前
|
设计模式 Java
java实现一个简单的监听器
java实现一个简单的监听器
10 0
|
4天前
|
前端开发 JavaScript 算法
javaweb(四)——过滤器与监听器
javaweb(四)——过滤器与监听器
|
9天前
|
存储 JSON 前端开发
JavaWeb中用来定义统一的响应结果的result类
JavaWeb中用来定义统一的响应结果的result类
12 0
|
11天前
分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤
分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤
11 0
|
12天前
|
Web App开发 JSON Java
JavaWeb基础第五章(请求,响应与分层解耦)
JavaWeb基础第五章(请求,响应与分层解耦)
|
3天前
|
安全 算法 Java
java多线程面试题2019整理
java多线程面试题2019整理
|
1天前
|
Java 数据处理 调度
Java多线程编程入门指南
Java多线程编程入门指南