(三)Servlet中的监听器
一、Servlet中的监听器简介
在Servlet中定义了多种类型的监听器,它们用于监听的事件源分别是ServletContext、HttpSession和ServletRequest这三个域对象
二、Servlet中的监听器的分类
1、一类:监听三个域对象的创建和销毁的监听器(三个)
2、二类:监听三个域对象的属性变更(属性添加、移除、替换)的监听器(三个)
3、三类:监听HttpSession中JavaBean的状态改变(钝化、活化、绑定、解除绑定)的监听(两个)
(四)ServletContextListener监听器的使用
一、ServletContextListener监听器的作用
用来监听ServletContext域对象的创建和销毁的监听器
二、ServletContext创建和销毁
1、创建:在服务器启动的时候,为每个Web应用创建单独的ServletContext对象
2、销毁:在服务器关闭的时候,或者项目从Web服务器中移除的时候
三、ServletContextListener监听器的方法
1、监听ServletContext对象的创建
contextInitialized(ServletContextEvent sce)
2、监听ServletContext对象的销毁
contextDestroyed(ServletContextEvent sce)
四、编写监听器
1、监听器的代码
2、监听器的配置
五、ServletContextListener的企业用途
1、加载框架的配置文件
Spring框架提供了一个核心监听器叫ContextLoaderListener
2、定时任务调度
(五)HttpSessionListener监听器的使用
一、HttpSessionListener监听器作用
用来监听HttpSession对象的创建和销毁
二、HttpSession创建和销毁
创建:
服务器端第一次调用getSession()方法的时候
销毁:
非正常关闭服务器(正常关闭服务器Session会被序列化)
Session过期(默认过期时间30分钟)
手动调用session.invalidate()方法
三、HttpSessionListener监听器的方法
1、监听HttpSession对象创建
sessionCreated(HttpSessionEvent se)
2、监听HttpSession对象销毁
sessionDestroyed(HttpSessionEvent se)
四、编写监听器监听HttpSession对象创建和销毁
1、监听器的代码
2、监听器的配置
3、问题:
访问HTML是否会创建Session?
访问JSP是否会创建Session?
访问Servlet是否会创建Session?
(六)ServletRequestListener监听器的使用
一、ServletRequestListener监听器的作用
用于监听ServletRequest对象的创建和销毁
二、ServletRequest对象的创建和销毁
创建:从客户端向服务器发送一次请求,服务器就会创建Request对象
销毁:服务器对这次请求作出了响应之后,Request对象就销毁了
三、ServletRequestListener监听器的方法
1、监听ServletRequest对象的创建
requestInitialized(ServletRequestEvent sre)
2、监听ServletRequest对象的销毁