SpringBoot整合WEB开发--(七)注册拦截器

2020-02-18 16:04:21来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

SpringBoot整合WEB开发--(七)注册拦截器

  1.创建一个拦截器类实现HandlerInterceptor接口,重写其中的3个方法,这拦截器中方法的执行顺序为:preHandle--Controller--postHandle--afterCompletion,只有preHandle返回true,才会继续向下执行,多个拦截器形成拦截器链,如果第一个preHandle返回false,则后面的方法都不会执行。

public class MyInterceptor1 implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response,
                             Object handler){
        System.out.println("MyInterceptor1>>>preHandle");
        return true;
    }
    @Override
    public void postHandle(HttpServletRequest request,
                           HttpServletResponse response,
                           Object handler,
                           ModelAndView modelAndView){
        System.out.println("MyInterceptor1>>>postHandle");
    }
    @Override
    public void afterCompletion(HttpServletRequest request,
                                HttpServletResponse response,
                                Object handler,
                                Exception ex){
        System.out.println("MyInterceptor1>>>afterCompletion");
    }
}

2.配置拦截器

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
//拦截器名 registry.addInterceptor(
new MyInterceptor1()) //拦截路径
.addPathPatterns(
"/**") //排除路径
.excludePathPatterns(
"/hello"); } }

3.controller·

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }

    @GetMapping("/hello2")
    public String hello2() {
        return "hello2";
    }
}

 

 

 

 

 

 则没有被拦截,被排除在外

 


原文链接:https://www.cnblogs.com/crazy-lc/p/12326861.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:报错Exception in thread "main" java.lang.NoC

下一篇:JSP开发机票预定系统 源码