11.Listener

Listener

笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html)

视频教程(P137)

  • 概念:Listener表示监听器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。

  • 监听器可以监听就是在application,session,request三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件

  • Listener分类:JavaWeb中提供了8个监听器

    监听器分类 监听器名称 作用
    ServletContext监听 ServletContextListener 用于对Servletcontext对象进行监听(创建、销毁)
    ServletContextAttributeListener 对ServletContext对象中属性的监听(增删改属性)
    Session监听 HttpSessionListener 对Session对象的整体状态的监听(创建、销毁)
    HttpSessionAttributeListener 对Session对象中的属性监听(增删改属性)
    HttpSessionBindingListener 监听对象于Session的绑定和解除
    HttpsessionActivationListener 对Session数据的钝化和活化的监听
    Request监听 ServletRequestListener 对Request对象进行监听(创建、销毁)
    servletRequestAttributeListener 对Request对象中属性的监听(增删改属性)

    将来应该只会遇到一个:ServletContextListener。Servletcontext一被创建就代表web应用加载成功了,就可以进行一些初始化的动作。后面就只是演示这一个,其他的都是类似的用法。

ServletContextListener使用

  1. 定义类,实现ServletContextListener接口
  2. 在类上添加@WebListener注解
   @WebListener
   public class ContextLoaderListener implements ServletContextListener {
       //ServletContext对象被创建:整个web应用发布成功
       @Override
       public void contextInitialized(ServletContextEvent servletContextEvent) {
           //加载资源
           System.out.println("ContextLoaderListener...");
       }
       //ServletContext对象被销毁:整个web应用卸载
       @Override
       public void contextDestroyed(ServletContextEvent servletContextEvent) {
           //释放资源
       }
   }

服务器一起动,web项目创建了,创建好后,这个监听器就会自动执行,contextInitialized方法就会自动调用。

至于将来这里面需要加载什么资源,需要怎样写业务的功能,将来spring框架就使用了一个ContextLoaderListener来加载Spring初始化需要的资源。后期学了框架才用的到,到时再细说。

目前对于这个监听器,只需要知道有这个东西就行了。

posted @ 2023-01-09 09:07  文杰2000  阅读(12)  评论(0编辑  收藏  举报