本文共 3004 字,大约阅读时间需要 10 分钟。
提前阅读:
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓↓↓↓ Servlet监听器 ↓↓↓↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Servlet监听器;
为什么要有? 当个别用户进行恶意的破坏服务器的操作的时候, 如何获取到是这个用户在什么时候进行破坏? 因为每一次进行而已破坏需要是需要发送请求道服务器的 是什么? 是Servlet的三大组件之一,是SUN公司定义的一个标准 作用; 用于监听web开发中常用对象的动作,如;创建,销毁等。。。。 可以根据监听到的数据进行某些逻辑代码操作 使得开发web项目的灵活性,可变性更大。。。。。。 例如;垃圾文件的发送等。。。 特点; 是类似JavaScript中需要事件来触发的。 ◆每一个事件都会封装成为一个对象 -----------------------------------↓↓↓↓↓↓↓Servlet监听器 —— 事件↓↓↓↓↓↓↓------------------------------------------------ Servlet监听器_事件; Servlet监听器是监听某些对象的动作, 那么这些动态是如何发生的,则是通过事件。。。。。。 完成事件机制三个要求; 1.事件源;事件发送源头 ---> 如;用户请求 2.事件;对这个源头需要触发什么事件 ---> 发送请求给服务器 3.监听器;事件触发后需做什么 ---> 如;进行后台验证、跳转等.....wbe开发事件机制; 常用事件源;ServletContext/ServletSession/Servletrequest 发生的事件;创建、销毁、添加、修改、验证。。。。。。 监听器;也称为,对象的监听器。 属性的修改等。。。。。。 ◆◆◆◆◆注;每一个web事件都会被封装成对应的对象 ---------------------------------↓↓↓↓↓↓↓Servlet监听器 —— 开发步骤↓↓↓↓↓↓↓------------------------------------------------ Servlet监听器_开发步骤; 1.编译一个类实现某一个监听器或多个监听器 a_)重写对应的方法 b_)在所需的方法中写业务代码逻辑 2.在web.xml文件中配置监听器 <listener> <listener-class>包名+类名</listener-class> </listener> --------------------------------↓↓↓↓↓↓↓Servlet监听器 —— 常用监听器↓↓↓↓↓↓↓------------------------------------------------ Web对象 事件对象 监听器 ServletContext ServletContextEvent ServletContextListener ↓↓↓↓↓↓↓ 创建,销毁 ↓↓↓↓↓↓↓创建,销毁 获取到事件触发后的某些数据 监听事件发生后触发的操作后, 如;源事件对象等. 执行对应的业务 ServletContextAttributeEvent ServletContextAttributeListener ↓↓↓↓↓↓↓ (C/D/U) ↓↓↓↓↓↓↓(C/D/U) 获取到属性事件触发后某些数据 监听属性事件发生触发后的操作 如;属性的值等..... 执行对应的业务 ServletContext解析; ServletContext是在服务器启动的时候, 就创建了对象了,而服务器关闭的时候则销毁对象 而这个创建和销毁的事件则···封装成了ServletContextEvent对象 而在触发ServletContextEvent对象事件的时候, 可以通过ServletContextListener对象的对应的事件方法, 进行监听这个事件的创建和销毁从而执行某些需求的逻辑代码。 ◆案例;在这个事件创建的时候向数据库写入一条创建信息, 在这个事件销毁的时候也写入一条创建信息,从而做到日志功能。 ■■■■■■■ ServletContextAttribute是同样的原理 HttpSession HttpSessionEvnet HttpSessionListener ↓↓↓↓↓↓↓创建,销毁 ↓↓↓↓↓↓↓ 获取到事件触发后的某些数据 监听事件发生后触发的操作后 如;源事件对象等... 执行对应的业务 HttpSessionAttributeEvent HttpSessionAttributeListener ↓↓↓↓↓↓↓(C/D/U) ↓↓↓↓↓↓↓(C/D/U) 获取到属性时间触发后某些数据 监听事件发生后触发的操作后 如;属性的值等..... 执行对应的业务 HttpSession解析; 当用户访问Jsp【内置对象】页面的时候就会创建Session对象, 当到了最大的存活时间时,用户没有对数据库进行任何的访问, 或服务器关闭,则会将这个创建了的Session对象进行销毁。 而在这个创建和销毁的两个事件Java将其封装成了 HttpSessionEvent这个类,从而可以通过 这个类的方法获取到某些信息,如源事件对象等.... 而在触发HttpSessionEvent事件后, 可以通过HttpSessionListener接口的, 对应方法监听这个事件触发后的对应过程 ◆案例;因为HttpSession对象是唯一标识每一个访问的用户的, 从而可以做一个当前网站的访问人数的案例 或者是当前网站登录用户管理的案例 ■■■■■■■ HttpServlet是同样的原理 SerlvetRequest ServletRequestEvnet ServletRequestListener ↓↓↓↓↓↓↓创建、销毁 ↓↓↓↓↓↓↓(C/D/U) 获取到事件触发后的某些数据 监听事件发生后触发的操作后 如;源事件对象等... 执行对应的业务 ServletRequestAttributeEvnet ServletRequestAttributeListener ↓↓↓↓↓↓↓(C/D/U) ↓↓↓↓↓↓↓(C/D/U) 获取到事件触发后的某些数据 监听事件发生后触发的操作后 如;源事件对象等... 执行对应的业务
ServletRequest解析;
当用户给服务器发送一个请求的时候, 而这个请求的创建开始和销毁的事件 Java将其封装成了一个ServletReqeustEvnet对象 而在触发ServletRequestEvent对象后 可以通过ServletReqeustListener监听接口 监听这个servletReuqestEvent事件触发的过程 ◆案例;可以通过这个做一个用户在某一个时间内, 发送数据到服务器的个数不可以超过多少个 超过了则服务器不在进行接收, 只有过了这个事件才再次进行接口, 从而对服务器起到一个保护的作用 ■■■■■■■ ServletRequest是同样的原理 ◆◆◆◆◆注;事件一般都是类,而监听都是接口
转载地址:http://zlmxi.baihongyu.com/