handler和interceptor的区别

简述

  1. Handler(处理器):Handler是处理请求的组件,常见形式是一个Controller类或方法。Handler是直接参与请求处理的主体,其负责接收具体的请求并执行相应的业务逻辑,然后返回响应结果。除了Controller,一般还有异常处理类(如:GlobalExceptionHandler,可对Controller抛出的异常进行处理,并可像Controller返回结果)。

    注意,Controller是Handler,但Handler不一定是Controller。

  2. Interceptor(拦截器):Interceptor是Spring框架提供的一种基于AOP的拦截机制,它可以在请求的处理过程中进行预处理和后处理。Interceptor可以在请求到达Handler之前(preHandle)、在Handler执行后返回结果之前(postHandle)、以及在响应返回给客户端之后(afterCompletion)进行拦截操作。Interceptor可以对请求进行修改、记录日志、进行权限验证等操作。

    AOP(Aspect-Oriented Programming):面向切面编程

    在AOP中用于在某个方法或字段被访问之前进行拦截,然后在访问之前或之后加入某些操作。拦截是AOP的一种实现策略

web执行流程

区别

  • Handler是具体的请求处理组件,而Interceptor是对请求进行拦截和处理的机制。
  • Handler直接负责执行具体的业务逻辑,而Interceptor更多地是提供了一种扩展机制,可以在请求处理过程中添加额外的逻辑或对请求进行修改。
  • Handler是请求处理的终点,而Interceptor是请求处理链中的一个环节。
  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值