监听器、过滤器、拦截器的区别
监听器:listener
是servlet规范中定义的一种特殊类,用于监听servletContext、HttpSession和HttpRequest等域对象的创建和销毁事件。监听域对象的属性发生修改的事件。用于在事件发生前、发生后做一些必要的事情。
使用场景:
(1)统计在线人数和在线用户
(2)系统启动时加载初始化信息。
(3)统计网站访问量
(4)记录用户访问路径
过滤器:filter
servlet技术中最实用的技术。在请求进入tomcat容器之后,进入servlet之前进行预处理。请求返回是在servlet处理完之后,返回给前端之前。但是并不能捕获异常、获取Bean对象。
使用场景:
(1)资源拦截,如拦截图片、servlet等。
(2)URL级别的权限访问控制、过滤敏感词汇。
拦截器:intercepter
用于在某个方法或字段被访问之前进行拦截,在之前后之后加入某些操作,如日志、事务等。一般拦截器方法都是通过动态代理的方式实现。过滤器能做的事拦截器都能做,而拦截器能做的事过滤器不一定能做。

浙公网安备 33010602011771号