监听器、过滤器、拦截器的区别

监听器:listener

  是servlet规范中定义的一种特殊类,用于监听servletContext、HttpSession和HttpRequest等域对象的创建和销毁事件。监听域对象的属性发生修改的事件。用于在事件发生前、发生后做一些必要的事情。

  使用场景:

  (1)统计在线人数和在线用户

  (2)系统启动时加载初始化信息。

  (3)统计网站访问量

  (4)记录用户访问路径

 

过滤器:filter

  servlet技术中最实用的技术。在请求进入tomcat容器之后,进入servlet之前进行预处理。请求返回是在servlet处理完之后,返回给前端之前。但是并不能捕获异常、获取Bean对象。

  使用场景:

  (1)资源拦截,如拦截图片、servlet等。

  (2)URL级别的权限访问控制、过滤敏感词汇。

 

拦截器:intercepter

  用于在某个方法或字段访问之前进行拦截,在之前后之后加入某些操作,如日志、事务等。一般拦截器方法都是通过动态代理的方式实现。过滤器能做的事拦截器都能做,而拦截器能做的事过滤器不一定能做。

posted @ 2020-09-09 09:41  怪兽不纯粹  阅读(129)  评论(0)    收藏  举报