Spring Boot实战:拦截器

一.拦截器快速入门

1.1了解拦截器

什么是拦截器

概念 :拦截器是Spring框架提供的核功能之, 主要来拦截的请求, 在指定法前后, 根据业务需要执预先设定的代码。

也就是说, 允许开发员提前预定义些逻辑, 在的请求响应前后执. 也可以在请求前阻其执.

在拦截器当中,开发员可以在应程序中做些通性的操作, 如通过拦截器来拦截前端发来的请求, 判断Session中是否有登录的信息. 如果有就可以放, 如果没有就进拦截.

想象一下你去一个需要门禁的办公楼,拦截器就像是那个门禁系统。当你(请求)想要进入办公楼(访问某个资源)时,门禁系统(拦截器)会先检查你是否符合条件(比如是否持有有效的门禁卡或是否已经通过身份验证)。如果符合条件,门禁系统会放行,让你进入办公楼;如果不符合条件,门禁系统会阻止你进入,并可能要求你进行其他操作(比如登记或联系相关人员)。

在SpringBoot中,拦截器就是这样一种机制,它可以在请求到达控制器之前或之后“拦截”请求,并根据预定义的规则对请求进行处理。

拦截器在SpringBoot中主要有以下几个作用:

  1. 身份验证和权限控制
    • 就像门禁系统检查门禁卡一样,拦截器可以检查用户的身份验证状态和权限。例如,当用户尝试访问一个需要登录才能查看的页面时,拦截器会检查用户是否已经登录。如果用户未登录,拦截器可以重定向用户到登录页面或返回错误信息。
  2. 日志记录
    • 拦截器可以在请求到达控制器之前或之后记录日志信息。这对于监控和调试应用程序非常有用,因为它可以帮助你了解请求是如何被处理的,以及处理过程中发生了哪些事情。
  3. 请求预处理和响应后处理
    • 在请求到达控制器之前,拦截器可以对请求进行预处理,比如修改请求参数、设置请求头等。在控制器处理完请求并生成响应后,拦截器还可以对响应进行后处理,比如修改响应头、添加额外的数据到响应中等。
  4. 异常处理
    • 拦截器还可以捕获并处理请求处理过程中发生的异常。例如,如果控制器在处理请求时抛出了异常,拦截器可以捕获这个异常,并根据异常类型进行相应的处理,比如返回自定义的错误页面或错误信息。

1.2拦截器的基本使用

拦截器的使步骤分为两步:

  1. 定义拦截器
  2. 注册配置拦截器

1.定义拦截器:实现HandlerInterceptor接,并重写其所有法

@Slf4j
@Component
public class LoginInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServle
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值