过滤器(Filter),拦截器(Interceptor)和AOP拦截的区别

1.过滤器
过滤器可以拦截到方法的请求和响应(ServletRequest request, ServletResponse response),并对请求响应做出像响应的过滤操作,比如设置字符编码,鉴权操作等

2.拦截器
拦截器可以方法执行之前(preHandle)和方法执行之后(afterCompletion)进行操作,回调操作(postHandle),可以获取执行的方法的名称,请求(HttpServletRequest)

3.Aop切片
AOP操作可以对操作进行横向的拦截,最大的优势在于他可以获取执行方法的参数,对方法进行统一的处理.常见使用日志,事务,请求参数安全验证等   

入口方向和返回方向

  Request->过滤器->拦截器->ControllerAdvice->AOP->Controller

   Response<-过滤器<-拦截器<-ControllerAdvice<-AOP<-Controller

 过滤器(Filter),拦截器(Interceptor)和AOP拦截的区别_第1张图片

你可能感兴趣的:(个人)