listener-servletContextAttributeListener监听器的使用

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.itheima.listener.ServletContextListenerDemo</listener-class>
    </listener>

    <listener>
        <listener-class>com.itheima.listener.ServletContextAttributeListenerDemo</listener-class>
    </listener>
</web-app>
package com.itheima.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

/*servletContext对象的创建和销毁的监听*/
//@WebListener
public class ServletContextListenerDemo implements ServletContextListener {
    /*servletContext对象创建时执行此方法*/
    public void contextInitialized(ServletContextEvent sce) {
        System.out.println("监听到了对象的创建。。。。");
        //获取对象
        ServletContext servletContext = sce.getServletContext();
        System.out.println(servletContext);

        //添加属性
        servletContext.setAttribute("username","zhangsan");
        //替换属性
        servletContext.setAttribute("username","lisi");
        //移除属性
        servletContext.removeAttribute("username");
    }

    /*servletContext对象销毁时执行此方法*/
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("监听到了对象的销毁。。。");
    }
}
package com.itheima.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.annotation.WebListener;
import java.util.Enumeration;

/*应用域对象的属性变化的监听器*/
//@WebListener
public class ServletContextAttributeListenerDemo implements ServletContextAttributeListener {
    /*向应用域对象中添加属性时执行此方法*/
    public void attributeAdded(ServletContextAttributeEvent scae) {
        System.out.println("监听到了属性的添加。。。");
        //获取应用域对象
        ServletContext servletContext = scae.getServletContext();
        //获取属性
        Object value = servletContext.getAttribute("username");
        System.out.println(value);
    }

    /*向应用域对象中移除属性时执行此方法*/
    public void attributeRemoved(ServletContextAttributeEvent scae) {
        System.out.println("监听到了属性的移除。。。。");

        //获取应用域对象
        ServletContext servletContext = scae.getServletContext();
        //获取属性
        Object value = servletContext.getAttribute("username");
        System.out.println(value);
    }

    /*向应用域对象中移除属性时执行此方法*/
    public void attributeReplaced(ServletContextAttributeEvent scae) {

        System.out.println("监听到了属性的替换。。。。");

        //获取应用域对象
        ServletContext servletContext = scae.getServletContext();
        //获取属性
        Object value = servletContext.getAttribute("username");
        System.out.println(value);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值