1.什么是监听器?
监听器就是监听某个对象的状态变化的组件。
监听器的相关概念:
事件源:被监听的对象 ----三个域对象 request、session、servletContext
监听器: 监听事件源对象,事件源对象的状态的变化都会触发监听器 ----6+2(8个监听器)
注册监听器:将监听器与事件源进行绑定
响应行为:监听器监听到事件源的状态变化时,所涉及的功能代码 ----程序员编写代码。
1.监听器有哪些?
第一维度:按照被监听的对象划分:ServletRequest域 HttpSession域 ServletContext域。
第二维度:按照监听的内容分:监听域对象的创建与销毁、监听域对象的属性变化的。
ServletContext域 HttpSession域 ServletRequest域
域对象的创建与销毁 ServletContextListener HttpSessionListener ServletRequestListener
域对象内的属性的变化 ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener
3.监听三大域对象的创建与销毁的监听器
(1)监听ServletContext域的创建与销毁的监听器ServletContextListener
1)Servlet域的生命周期
何时创建:服务器启动创建
何时销毁:服务器关闭销毁
2)监听器的编写步骤(重点):
a、编写一个监听器类去实现监听器接口
b、覆盖监听器的方法
c、需要在web.xml中进行配置。--注册
ServletContextListener监听器的主要作用
a、初始化的工作,初始化对象,初始化数据 ----加载数据库驱动,连接池的初始化。
b、加载一些初始化的配置文件----spring的配置文件
c、任务调度----定时器 Timer/TimerTask
监听三大域对象的属性变化的
(1)域对象的通用的方法:
setAttribute(name,value)
----触发添加属性的监听器的方法
----触发修改属性的监听器的方法
getAttribute(name)
removeAttribute(name)
----触发删除属性的监听器的方法