spring boot配置springMVC拦截器
spring boot通过配置springMVC拦截器
配置拦截器比较简单, spring boot配置拦截器, 重写preHandle方法.
1.配置拦截器:

2重写方法

这样就实现了拦截器.
其中,在重写方法的逻辑中, 增加了一个注解, 这个注解的作用是:当方法头加上这个注解之后, 拦截器直接放行
这里说一下3个方法:
preHandle:预处理回调方法,实现处理器的预处理, 有返回值, true表示继续流程, false表示中断流程,通过response产生响应
postHandle:后处理回调方法,实现处理器的后处理
afterCompletion:整个请求处理完成回调方法

在方法头增加注解

这样有一些对安全没必要太严格, 不需要校验token的接口就加上这个注解就可以.
接下来 WebMvcConfigurationSupport 配置静态资源

还有个addViewControllers的方法可以配置视图
拦截器的实现还有一种方式: WebRequestInterceptor, 这里说下他们的不同点, 具体的代码实现都差不多
WebRequestInterceptor 的 preHandle 没有返回值, 方法参数中没有response, 获取request更方便, 不影响后续流程, . 也就是说WebRequestInterceptor 更针对处理请求, 比如预设参数等.
HandlerInterceptor 的 preHandle 有返回值, 会影响到后续处理, 有response, 获取request相对会稍微多写点代码, 更注重业务处理, 比如12306可以判断是否售票时间内, 权限, 请求验签等等.
例如本文的业务是校验token, 登录权限
整体来说HandlerInterceptor的功能更强大, 但获取request相对代码会多点
spring boot配置springMVC拦截器的更多相关文章
- spring boot 实现mybatis拦截器
spring boot 实现mybatis拦截器 项目是个报表系统,服务端是简单的Java web架构,直接在请求参数里面加了个query id参数,就是mybatis mapper的query id ...
- spring boot中注册拦截器
拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重 ...
- spring boot 过滤器、拦截器的区别与使用
原文:https://blog.csdn.net/heweimingming/article/details/79993591 拦截器与过滤器的区别: 1.过滤器和拦截器触发时机不一样,过滤器是在请求 ...
- Spring Boot实战:拦截器与过滤器
一.拦截器与过滤器 在讲Spring boot之前,我们先了解一下过滤器和拦截器.这两者在功能方面很类似,但是在具体技术实现方面,差距还是比较大的.在分析两者的区别之前,我们先理解一下AOP的概念,A ...
- Spring Boot 如何使用拦截器、过滤器、监听器?
过滤器 过滤器的英文名称为 Filter, 是 Servlet 技术中最实用的技术. 如同它的名字一样,过滤器是处于客户端和服务器资源文件之间的一道过滤网,帮助我们过滤掉一些不符合要求的请求,通常用作 ...
- Spring Boot下使用拦截器
Spring Boot对于原来在配置文件配置的内容,现在全部体现在一个类中,该类需要继承自WebMvcConfigurationSupport类,并使用@Configuration进行注解,表示该类为 ...
- spring boot 2.x拦截器导致静态资源404终极解决办法
首先添加application文件static路径,我的是yml文件 spring: mvc: static-path-pattern: /static/**然后注册拦截器类如下方法; @Overri ...
- 【Spring Boot】Spring Boot之自定义拦截器
一.拦截器的作用 将通用的代码抽取出来,达到复用的效果.比如可以用来做日志记录.登录判断.权限校验等等 二.如何实现自定义拦截器 1)创建自定义拦截器类并实现HandlerInterceptor类 / ...
- Spring boot实现自定义拦截器
Sprintboot的拦截器提供了精细的控制:在request被响应之前.request被响应之后.request全部结束之后至视图渲染之前 三个时间点,我们都可以通过编写他们的函数来控制. 首先新建 ...
随机推荐
- jfinal文件上传
jfianl获取表单数据,需要先getFile()获取文件,再使用getPara() public class ImageUploadController extends Controller{ pu ...
- ImageNet Classification with Deep Convolutional Neural Network(转)
这篇论文主要讲了CNN的很多技巧,参考这位博主的笔记:http://blog.csdn.net/whiteinblue/article/details/43202399 https://blog.ac ...
- 2.rabbitmq 工作队列
1. 生产者 #coding:utf8 import pika import json import sys message = ''.join(sys.argv[1:]) or "hell ...
- bug-bug-bug
#-*-coding:utf-8-*- import urllib import urllib2 import re import json import threading import reque ...
- DotNetOpenAuth实践之WCF资源服务器配置
系列目录: DotNetOpenAuth实践系列(源码在这里) 上一篇我们写了一个OAuth2的认证服务器,我们也获取到access_token,那么这个token怎么使用呢,我们现在就来揭开 一般获 ...
- C# 6.0 新特性 (一)
概述 尽管 C# 6.0 尚未完成,但现在这些功能正处于接近完成的关键时刻.自 2014 年 5 月发布文章“C# 6.0 语言预览版”(msdn.microsoft.com/magazine/dn6 ...
- <<Javascript Patterns>>阅读笔记 -- 第2章 基本技巧(一)
第一次写这种东西, 有些生涩和蹩脚, 也是为了自己在表达或是总结方面有所提高, 同时为看过的东西留个痕迹, 以便日后查阅. 有错误或是不妥的地方, 还望各位指正, 谢谢! 第1章 简介 本章主要介绍了 ...
- C++ 实现的一个打印日历程序
C++ 实现的一个打印日历程序 说明:总共有三个文件 1.month.h 为定义函数的头文件 2.month.cpp 为函数的实现代码 3.mainprog.cpp 为主函数的实现代码 month.h ...
- mybatis基础之一
SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE conf ...
- DateFormat 线程安全
SimpleDateformat 线程不安全 SimpleDateFormat 继承自 DateFormat, SimpleDateFormat中的parse方法override父类DateForma ...