SpringBoot使用拦截器

1.创建拦截器, 实现HandlerInterceptor,重写它的方法,

 PreHandle:  true为继续请求链接,false是取消请求

postHandle: 请求完controller之后执行

afterCompletion: 整个请求加载完后

public class UserInteorst implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         request.setCharacterEncoding("UTF-8");
         response.setCharacterEncoding("UTF-8");
         PrintWriter out=response.getWriter();
        out.print("<body style='background:black;'><html><div align='center'style='color:white;font-size:40px'>Please wait... </div></html></body>");
     return false;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}

2.创建配置文件.继承自:WevMvcConfigurationSupport,添加拦截链接,取消拦截链接

@Configuration
public class BeanInterceptor extends WebMvcConfigurationSupport {

    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        String []addpath={"/user/**"};
        String []exlpath={"/user/login"};
        registry.addInterceptor(new UserInteorst()).addPathPatterns(addpath).excludePathPatterns(exlpath);
    }
}

3.创建Controller,编写相关接口

猜你喜欢

转载自blog.csdn.net/qq_35002313/article/details/80675268