前言
最近在疯狂的准备面试,各种概念都需要从原先的了解,到实现再到了解原理,宝宝心里苦,但宝宝不说.
概念介绍
过滤器:过滤器的概念是Servlet所支持的,在tomcat容器中,Filter(过滤器)处于访问Servlet之前的阶段,在访问Servlet前会先去访问所有的过滤器,如果所有的过滤器都放行了,才会去访问Servlet.
过滤器的应用场景比较常见,比方说,对于没有登录的用户,肯定是不能够访问网页中那些登录之后才能够想用的功能的,又或者说,那些没有充钱的弟弟是不能访问超级会员才能看的视频的...(我也是个弟弟).
拦截器:拦截器相比于过滤器能够限制到更加具体的方法,而且最重要的是拦截器是Spring提出的,比方说在Spring的切面编程,能够切向某一个方法,而过滤器则依赖于Servlet.拦截器的主要作用就是更改方法的实现
拦截器体现了Spring AOP面向切面编程的思想以及适配器模式的体现.在Servlet中,过滤器以及Servlet都是有着自己的生命周期,但是拦截器却是一直存在的,正如Spring MVC中的Controller一样一直存在(SpringMVC默认情况下将Controller设置为单例模式).
监听器:监听器是伴随着Servlet的生命周期的,在相应的生命阶段会执行相应的事件.
比方说,用户打开浏览器访问我们的服务器,在服务器上会产生对应的Session,而创建Session时会触发HttpSessionActivationListener接口中的sessionCreated方法.
下图可以更好的帮你理解过滤器和拦截器(Inteceptor).
了解这些之后再去看下一个文章,希望对你的理解有所帮助,感谢:https://www.cnblogs.com/lukelook/p/11079113.html