1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 监听器——Listener(简述 自定义监听器) 略 过滤器与拦截器

监听器——Listener(简述 自定义监听器) 略 过滤器与拦截器

时间:2022-04-27 12:44:34

相关推荐

监听器——Listener(简述 自定义监听器) 略 过滤器与拦截器

文章目录

监听器自定义监听器过滤器与拦截器

监听器

略,不怎么使用了。

见名知意,比如你上课玩手机,亲爱的班主任静悄悄地出现在你身后。你就是“被监听的对象”,班主任就”监听者“,你因为玩手机触发了这个事件,导致你班主任来“慰问”你。

监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。利用观察者设计模式就可以定义实现监听器了。

Tomcat提供了三个对象的监听器:

分别监听对象的创建和销毁,对象属性的变化,以及监听httpsession中对象的绑定和解绑定。随着web应用的启动而启动,销毁而销毁,只初始化一次。

ServletContextListenerHttpSessionListenerServletRequestListener

有没有感觉和动态代理有点联系???

自定义监听器

被监听者

public class Student {//插个眼,监听它private StudentListener studentListener;public StudentListener getStudentListener() {return studentListener;}public void setStudentListener(StudentListener studentListener) {this.studentListener = studentListener;}//监听哪些方面public void music(){System.out.println("听歌");studentListener.music(new StudentEnvent());}public void play(){System.out.println("玩游戏");studentListener.play(new StudentEnvent());}}

让监听对象与被监听对象产生联系

public class StudentEnvent {private Student student;public Student getStudent() {return student;}public void setStudent(Student student) {this.student = student;}@Overridepublic String toString() {return "StudentEnvent{" +"student=" + student +'}';}}

监听接口

public interface StudentListener {void music(StudentEnvent studentEnvent);void play(StudentEnvent studentEnvent);}

测试

import org.junit.Test;public class StudentTest {@Testpublic void test1(){Student student = new Student();//初始化监听者(匿名内部类)student.setStudentListener(new StudentListener() {@Overridepublic void music(StudentEnvent studentEnvent) {System.out.println("监听student听音乐");}@Overridepublic void play(StudentEnvent studentEnvent) {System.out.println("监听student玩游戏");}});student.music();student.play();}}

过滤器与拦截器

话说我想直接从word中复制表格过来,怎么操作啊,苦恼😤

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。