一、Spring拦截器是什么
Spring拦截器也是AOP思想的一种实现方式。
还拿上篇文章中提到的 用户登录校验问题来说。
上篇中的SpringAOP可以使用通知来实现。
但是仍旧会有两个问题。
- 没办法获取到 HttpSession 对象,总不能用户想使用什么功能,都要输入一遍账号密码,这样用户体验感是极差的。
- 我们要对⼀部分方法进行拦截,而另⼀部分方法不拦截,如注册方法和登录方法是不拦截的,这样
的话排除方法的规则很难定义,甚至没办法定义。
而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