【Java】Spring拦截器 —— Spring拦截器是什么? 代码实现了Spring拦截器

本文详细介绍了Spring拦截器在AOP中的应用,包括如何创建自定义拦截器处理用户登录验证,以及如何将其集成到系统配置中,通过`preHandle`方法拦截URL并控制访问权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、Spring拦截器是什么

Spring拦截器也是AOP思想的一种实现方式。

还拿上篇文章中提到的 用户登录校验问题来说。

上篇中的SpringAOP可以使用通知来实现。
但是仍旧会有两个问题。

  1. 没办法获取到 HttpSession 对象,总不能用户想使用什么功能,都要输入一遍账号密码,这样用户体验感是极差的。
  2. 我们要对⼀部分方法进行拦截,而另⼀部分方法不拦截,如注册方法和登录方法是不拦截的,这样
    的话排除方法的规则很难定义,甚至没办法定义。

Spring拦截器是从URL层面进行拦截,完美的解决了上述的两个问题。

二、如何使用Spring拦截器

1.创建自定义拦截器

自定义的拦截器就是一个普通类,该类要实现HandlerInterceptor接口,并重写preHandle方法

/**
 * 自定义拦截器
 */
 // 方便获取到拦截器
@Component                          // 实现HandlerInterceptor接口
public class UserInterceptor implements HandlerInterceptor {
   
    /**
     * 返回 true -> 拦截器验证成功,继续执行后续方法
     * 返回 false -> 拦截器验证失败,不会执行后续方法
     * @param request
     * @param response
     * @param handler
     * @return
     * @throws Exception
     */

    // 重写preHandle方法,该方法为拦截器拦截后的验证方法
    @Override
    public boolean preHandle
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值