2020-03-25

(一)监听器的概述

1、什么是监听器监听器就是一个实现了特定接口的Java类,这个Java类用于监听另一个Java类的方法调用,或者属性的改变。当被监听对象发生上述事件后,监听器某个方法将会立即被执行

2、监听器的用途用来监听其他对象的变化的,主要应用在图形化界面的开发上例如Java中的GUI、Android等,都有大量的监听器的使

3、监听器的术语事件源:指的是被监听对象(汽车)监听器:指的是监听的对象(报警器)事件源和监听器绑定:在汽车上安装报警器事件:指的是事件源对象的改变(踹了汽车一脚),主要功能是获得事件源对

(二)监听器的入门

1、监听器的入门程序

2、监听器的执行过程

(三)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对象的销毁ontextDestroyed(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对象的销毁requestDestroyed(ServletRequestEvent sre)

四、编写监听器代码

1、监听器代码

2、监听器配置

3、问题:访问HTML页面是否创建请求对象?会访问JSP页面是否创建请求对象?会访问Servlet是否创建请求对象?会

(七)统计当前在线人数的案例

一、案例分析在服务器启动的时候需要有一个初始值为零。当浏览器访问服务器上的某个JSP了,就会创建Session,此时获取初始值,进行+1操作。如果Session销毁了,获取该值进行-1操作

二、代码实现

1、创建ServletContextListen

你可能感兴趣的:(2020-03-25)