Listener小知识

Listener小知识

一、基础

1、简介
监听器,负责对整个WEB环境的监听,当被监听的对象发生改变时立即调用相应的方法进行处理。

2、监听器术语
(1)事件源:被监听的对象,目标对象
(2)监听器对象:用于监听事件源的对象
(3)注册(绑定):将监听器对象注册给事件源,当事件源发生变化,监听对象对应执行
(4)事件:事件源行为,即事件源发生变化
(5)事件对象:在监听器对象中得到事件源

3、配置监听器
(1)web.xml

<listener>  
	<listener-class> </listener-class>
	指定初始化参数<context-param>
</listener>

(2)注解@WebListener

4、内部机制
接口回调

二、域对象

1、ServletRequest对象监听
(1)作用:监听Request对象的创建或者删除
(2)包:javax.servlet.ServletRequestListener
(3)request创建方法-----请求开始创建

requestInitialized(ServletRequestEvent sre)
访问html / jsp / servlet 均可创建request

(4)request销毁方法-----请求结束时销毁

requestDestroyed(ServletRequestEvent sre)

(5)事件对象ServletRequestEvent

ServletContext getServletContext()
ServletRequest getServletRequest()

2、HttpSession对象监听
(1)作用:监听Session对象创建或销毁
(2)包:

javax.servlet.http.HttpSessionListener

(3)创建方法:

getSession()
sessionCreated(HttpSessionEvent se)
访问jsp / servlet 会产生session,访问html不会创建

(4)销毁方法

默认30分钟
执行invalidate()销毁
sessionDestroyed(HttpSessionEvent se)

(4)事件对象HttpSessionEvent

3、ServletContext对象监听
(1)作用:监听ServletContext对象创建或销毁
(2)包:javax.servlet.ServletContextListener
(3)创建方法(服务器启动时)

contextInitialized(ServletContextEvent sce)

(4)销毁方法(服务器正常关闭)

contextDestroyed(ServletContextEvent sce)

(5)事件对象ServletContextEvent

ServletContext getServletContext()

三、域对象属性

1、request作用域属性
(1)包:javax.servlet.ServletRequestAttributeListener
(2)类:ServletRequestAttributeListener
(3)作用:监听request对象属性attribute添加、替换和删除

2、session作用域属性
(1)包:javax.servlet.http.HttpSessionAttributeListener
(2)类:HttpSessionAttributeListener
(3)作用:监听session对象属性attribute添加、替换和删除

3、ServletContextAttributeListener作用域属性
(1)包:javax.servlet.ServletContextAttributeListener
(2)类:ServletContextAttributeListener
(3)作用:监听servletContext对象属性attribute添加、替换和删除

4、常用方法

添加 attributeAdded(ServletRequestAttributeEvent srae)
替换 attributeReplaced(ServletRequestAttributeEvent srae)
删除 attributeRemoved(ServletRequestAttributeEvent srae)
事件对象方法
					getName()
					getValue()
					getServletContext()
					getServletRequest()
posted @ 2020-03-09 20:13  李泽坤  阅读(132)  评论(0编辑  收藏  举报