拦截器和过滤器是什么(学习笔记——拦截器与过滤器的区别;拦截器概述;拦截器中三个方法)
2023-01-21
一 、拦截器与过滤器的区别
1 、过滤器(Filter)属于web服务器组件
(1)过滤器主要作用:过滤Servlet请求
(2)执行时机:两处执行时机(Servlet前 、Servlet后)
2 、拦截器(Interceptor)属于框架(springMVC)
(1)拦截器主要作用:拦截Controller请求
(2)执行时机:三处执行时机
①执行DispatcherServlet之后 ,Controller之前
②执行Controller之后 ,DispatcherServlet之前
③执行DispatcherServlet之后
二 、拦截器概述
1 、SpringMVC可以使用拦截器实现拦截Controller请求,用户可以自定义拦截器来实现特定功能
2 、实现拦截器两种方式
(1)实现接口:HandlerInterceptor
(2)继承适配器类:HandlerInterceptorAdapter
3 、拦截器中三个方法
(1)preHandler():这个方法在业务处理器处理请求之前被调用 ,可以在此方法中做一些权限的校验 。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器 ,或者是业务处理器去进行处理 ,则返回true;如果程序员决定不需要再调用其他组件去处理请求 ,则返回false.
(2)postHandler():这个方法在业务处理器处理请求之后 ,渲染视图之前调用 。在此方法中可以对ModelAndView中的模型和视图进行处理 。
(3)afterCompletion():这个方法在DispatcherServlet完全处理完请求后被调用 ,可以在该方法中进行一些资源清理的操作 。
三 、实现拦截器步骤
1、实现接口:HandlerInterceptor
2 、重写三个方法
3 、在springmvc.xml配置文件中 ,装配拦截器
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!