文档章节

SpringBoot-拦截器

曲风骚柔
 曲风骚柔
发布于 2017/03/21 10:01
字数 250
阅读 35
收藏 1

第一步:定义拦截器类,实现HandlerInterceptor接口。(或者继承HandlerInterceptorAdaptor类)

Tips:这里在preHandle里面 默认是return false(拦截,请求终止),true(放行继续执行后面的流程)。

public class SysInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("Interceptor preHandle##############");
        return false;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("Interceptor postHandle##############");
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("Interceptor afterCompletion##############");
    }
}

第二步:

    1.定义一个WebMvcConfig类并继承WebMvcConfigurerAdapter。

    2.用@Configuration注解类 :相当于定义一个配置文件类,里面定义了许多@Bean 标注的方法,让Spring容器统一管理。

     3.重写addInterceptors(InterceptorRegistry registry)方法,并注册我们自己的拦截器。

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    @Bean
    public SysInterceptor getSysInterceptor(){
        return  new SysInterceptor();
    }

    /**
     * 拦截器执行顺序和注册顺序一致
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //排除不需要拦截的请求地址
        String[] excludeUri ={"/test/static/*.html","/test/img/*.*"};
       registry.addInterceptor(getSysInterceptor()).excludePathPatterns(excludeUri);
    }
}

到此 Springboot拦截器定义完成。

© 著作权归作者所有

曲风骚柔
粉丝 0
博文 2
码字总数 393
作品 0
深圳
私信 提问
加载中

评论(1)

noseew
noseew
拦截后干什么在哪里体现
springboot学习(二)——springmvc配置使用

以下内容,如有问题,烦请指出,谢谢 上一篇讲解了springboot的helloworld部分,这一篇开始讲解如何使用springboot进行实际的应用开发,基本上寻着spring应用的路子来讲,从springmvc以及web...

嘻哈开发者
2018/04/26
142
0
SpringBoot中的拦截机制

SpringBoot的拦截机制实现不是其特有的,它和Spring中一致,都可以使用下面三种技术来实现拦截机制 过滤器(Filter) 拦截器(Interceptor) 切片(Aspect) 过滤器拦截 过滤器是servlet中的...

Coding小聪
2018/04/06
0
0
SpringBoot自定义拦截器实现IP白名单功能

SpringBoot自定义拦截器实现IP白名单功能 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/8993331.html   首先,相关功能已经上线了,且先让我先祷告一番:     阿门~ (--)   ...

€5è¬þxãÍ
2018/05/12
0
0
恒宇少年/spring-boot-chapter

简书整套文档以及源码解析 专题 专题名称 专题描述 001 Spring Boot 核心技术 讲解SpringBoot一些企业级层面的核心组件 002 Spring Cloud 核心技术 对Spring Cloud核心技术全面讲解 003 Quer...

恒宇少年
2018/04/19
0
0
Spring Boot学习笔记

多模块开发 [SpringBoot学习]-IDEA创建Gradle多Module结构的SpringBoot项目 RabbitMQ RabbitMQ 安装 linux安装RabbitMQ详细教程 Ubuntu 16.04 RabbitMq 安装与运行(安装篇) ubantu安装...

OSC_fly
2018/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
今天
7
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部