监听器学习笔记

本文介绍了Servlet监听器的基本概念,包括监听器的主要作用及其如何监听ServletContext、HttpSession和ServletRequest对象的状态变化。文中详细解释了实现监听器的具体步骤及所需实现的接口,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

监听器主要用来监听ServletContext,HttpSession以及ServletRequest对象的创建与销毁,他们属性的添加、修改与删除。也就是说当这三个类的对象被创建与被销毁,属性发生变化时都会出发监听器中对应的方法进行执行。

监听器类的创建很简单,创建一个普通的java类并根据需要实现不同的接口即可

要完成不同的监听功能,需要创建的监听器类也不相同,也就是实现的接接口不同,主要以下六种

ServletontextListener    监听ServletContext对象的创建与销毁时需要实现的接口

需要实现的方法有两个

public void contextDestroyed(ServletContextEvent event) {

        System.out.println("servletcontext对象被销毁!");

    }

    @Override

    public void contextInitialized(ServletContextEvent event) {

        System.out.println("servletcontext对象被创建!");

        //通过ServletContextEvent对象可以获得ServletContext对象,从而读取web级配置的参数

        ServletContext context = event.getServletContext();

        Enumeration<String> ee = context.getInitParameterNames();

        while(ee.hasMoreElements()){

            String name = ee.nextElement();

            System.out.println(name +"  :   "+context.getInitParameter(name));

        }

    }  

ServletontextAttributeListener    监听Servletontext对象的属性的添加、修改、删除需要实现的接口,需要实现的方法有三个

 

public void attributeAdded(ServletContextAttributeEvent event) {

        System.out.println("add");

//这个方法传递的参数也可以获取ServletContext对象,同时可以直接通过他的getName()与getValue()方法获得属性的名称与值

    ServletContext context = event.getServletContext();

        String name = event.getName();

        Object value =  event.getValue().toString();

        System.out.println(name + "  " + value);

    }

    @Override

    public void attributeRemoved(ServletContextAttributeEvent event) {

        System.out.println("remove");

    }

    @Override

    public void attributeReplaced(ServletContextAttributeEvent event) {

        System.out.println("modify");

    }  

 

另外四个接口分别是HttpSessionListener  HttpSessionAttributeListener  ServletRequestListener  ServletRequestAttributeListener从接口名称我们就可以看出来,他们与ServletContetListener  ServletContetAttributeListener 是类似的,不再赘述

监听类创建好之后还需要在web.xml中进行注册,只有这样web容器才能使用监听器,注册的方法如下

<listener>

        <listener-class>com.imooc.listener.HttpSessionAttributeListenerTest</listener-class>

    </listener>  

 

 ---文章为原创,如有错误与不足之处,还望斧正,小生在此谢过啦---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值