博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot(五).如何在springboot项目中使用拦截器
阅读量:4972 次
发布时间:2019-06-12

本文共 1759 字,大约阅读时间需要 5 分钟。

                                                                               

在每个项目中,拦截器都是我们经常会去使用的东西,基本上任一一个项目都缺不了拦截器的使用。

如日志记录、登录验证,session验证等,都需要拦截器来拦截URL请求,那springboot中的拦截器是如何去使用的呢,我们一起试试。

首先,我们去创建一个名为LoginInterceptor的拦截器,来过滤请求,我们创建的拦截器要去实现HandlerInterceptor接口,然后定义我们的方法

 

public class LoginInterceptor implements HandlerInterceptor {    private static final Logger log = LoggerFactory.getLogger(LoginInterceptor.class);    /**     * 进入controller层之前拦截请求     * @param httpServletRequest     * @param httpServletResponse     * @param o     * @return     * @throws Exception     */    @Override    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {        log.info("---------------------开始进入请求地址拦截----------------------------");        return true;    }    @Override    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {        log.info("--------------处理请求完成后视图渲染之前的处理操作---------------");    }    @Override    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {        log.info("---------------视图渲染之后的操作-------------------------0");    }}

 这里,我们不去写过多的业务逻辑,只需要知道拦截器是否生效即可

接下来我们需要将LoginInterceptor拦截器添加到SpringBoot的配置中,让SpringBoot项目有这么一个拦截器存在,我们新创建一个WebAppConfig, 将拦截器的配置以及拦截路径配置好
@Configurationpublic class WebAppConfig extends WebMvcConfigurerAdapter{    @Override    public void addInterceptors(InterceptorRegistry registry){        registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**");    }}

这个方法将我们之前写好的登录拦截器添加到了配置中去,接下来,我们去发送请求,观察控制台

 

发现请求确实被拦截器拦截成功了,然后我们就可以根据业务需要去在拦截器中写我们想要的方法了

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/GodHeng/p/9285259.html

你可能感兴趣的文章
Jquery 父级元素、同级元素、子元素
查看>>
Git使用总结(廖雪峰git)
查看>>
BZOJ 1898: [Zjoi2004]Swamp 沼泽鳄鱼( dp + 矩阵快速幂 )
查看>>
vue-swiper 基于Vue2.0开发 轻量、高性能轮播插件
查看>>
ORACLE ORDER BY用法总结
查看>>
Html学习_style属性应用
查看>>
链表函数(建立,删除重复元素,排序,输出)—— 链表的有序集合
查看>>
js闭包
查看>>
聚类算法之BIRCH(Java实现)
查看>>
青蛙学Linux—Zabbix Web使用之添加一台主机
查看>>
Pod资源管理
查看>>
Metro Style App :Framwork与WinRT(一)
查看>>
[bzoj3209]花神的数论题
查看>>
字符串创建运算符#
查看>>
combobox获取值
查看>>
SQL 学习笔记(一)联表查询
查看>>
E-PUCK机器人-标准固件
查看>>
lintcode:数飞机
查看>>
虚拟路径和物理路径 实例
查看>>
网上选课系统-进度
查看>>