Java三大器,一张思维导图看明白
2022-01-13 本文已影响0人
程就人生
Java三大器,监听器、过滤器、拦截器在web开发中经常用到,这三大器的区别在哪里呢?又各自有什么作用呢?
-
从系统级别上来看,监听器、过滤器属于系统级别的,而拦截器属于非系统级别;
-
从实现方式上来看,监听器基于事件驱动,过滤器基于回调方法,而拦截器使用java的反射机制;
-
从是否依赖容器上来看,过滤器依赖于Servlet容器,而监听器、拦截器不依赖于容器;
图片 -
从生命周期来看,监听器只在容器初始化时调用,过滤器在Action的生命周期中调用一次,而拦截器却可以在方法前、后,执行前后执行多次;
图片 -
从访问权限来看,监听器、过滤器,都是无法获取IOC容器中的各个Bean、action上下文及值栈里的对象,而拦截器却可以访问;
图片 -
最后来看作用:
- 监听器的作用:统计在线用户、系统启动时加载初始化信息、统计网站访问量、记录用户访问路径、清楚过期session等等;
- 过滤器的作用:设置字符编码、URL级别的权限控制、敏感词汇的过滤、用户登录权限验证等等;
- 拦截器的作用:日志打印、某一个Action执行时间收集、其他业务的拦截处理等等。 图片
关于例子:
监听器和拦截器的使用,这里就不再举例子了。
过滤器的使用,到有一个很好的框架可以推荐一下,一个登录框架,使用了过滤器进行拦截,记得看看框架源码:
Spring Security整合JWT,实现单点登录,So Easy~!
更多知识点,关注 #程就人生# 公众号。