Listener 2022-03-24

一、作用:

监听某个事件的发生,状态的改变。

二、使用:

①Listener监听三个域对象创建与销毁

1、实现ServletRequestListener接口,监听ServletRequest对象的创建与销毁。

    创建:访问服务器任何资源都会发送请求(ServletRequest)出现,访问.html和.jsp和.servlet都会创建请求。

    销毁:服务器已经对该次请求做出了响应。

2、实现HttpSessionListener接口,监听HttpSession域对象的创建与销毁。

    创建:只要调用了getSession()方法就会创建,一次会话只会创建一次。

    销毁:1.超时(默认为30分钟)2.非正常关闭,销毁3.正常关闭服务器(序列化)

3、实现ServletContextListener接口,监听ServletContext域对象的创建与销毁。

    创建:启动服务器时创建

    销毁:关闭服务器或者从服务器移除项目

②Listener监听三个域对象属性状态的改变

实现ServletRequestAttribute接口,监听ServletRequest属性的改变。

    新增、删除、修改request作用域的值都会被监听,且方法参数可以获取request作用域的键和值。

实现HttpSessionAttributeListener接口,监听HttpSession属性的改变。

    新增、删除、修改session作用域的值都会被监听,且方法参数可以获取session作用域的键和值。

实现ServletContextAttribute接口,监听ServletContext属性的改变。

    新增、删除、修改application作用域的值都会被监听,且方法参数可以获取application作用域的键和值。

你可能感兴趣的:(Listener 2022-03-24)