一、项目中添加Spring MVC拦截器,拦截器怎么实现的,它的作用是什么?
拦截器的作用:让未登录的用户不能访问某些页面。 拦截器是在controller代码执行之前,根据用户请求做出相应的处理;
Spring Boot中的拦截器和Spring MVC中的一样,流程是:
1、先定义一个拦截器类,并且这个类需要实现HandlerInterceptor接口,重写接口中的三个方法:preHandle、postHandler、afterCompletion;
preHandle:此方法在进入controller之前执行,如果该方法返回ture,则程序继续向下执行处理器中的方法,否则程序将不再往下继续执行;
注意:会先按照顺序执行所有拦截器的preHandle方法,一直遇到return false为止,比如第二个preHandle方法是return false,则第三个以及以后所有拦截器都不会执行。若都是return true,则执行用户请求的url方法。
postHandler:此方法将在controller执行后执行;
afterCompletion:此方法在整个请求结束(请求结束,但是并未返回给客户端)之后执行;
2、将拦截器注入到配置类中(Config/WebMvcConfig.java)
配置拦截器,通过实现WebMvcConfigurer接口,重写addInterceptors方法,具体代码如下:
public class WebMvcConfig implements WebMvcConfigur