博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springmvc 自定义拦截器
阅读量:6818 次
发布时间:2019-06-26

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

import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;public class FirstInterceptor implements HandlerInterceptor{ /** * 该方法在目标方法之前被调用. * 若返回值为 true, 则继续调用后续的拦截器和目标方法. * 若返回值为 false, 则不会再调用后续的拦截器和目标方法. * * 可以考虑做权限. 日志, 事务等. */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("[FirstInterceptor] preHandle"); return true; } /** * 调用目标方法之后, 但渲染视图之前. * 可以对请求域中的属性或视图做出修改. */ @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("[FirstInterceptor] postHandle"); } /** * 渲染视图之后被调用. 释放资源 */ @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("[FirstInterceptor] afterCompletion"); }}preHandle按顺序的正序执行postHandle、afterCompletion按顺序的反序执行

一个拦截器顺序

 

多个拦截器顺序

 

第二个拦截器返回false

 

转载于:https://www.cnblogs.com/znsongshu/p/10090446.html

你可能感兴趣的文章
Git 使用指南
查看>>
Python爬虫的N种姿势
查看>>
MySQL小实践一:快速插入1000万条数据到MySQL数据库中
查看>>
网络协议 4 - 交换机与 VLAN
查看>>
split splice slice
查看>>
构建静态页面 之 [ 列表 ]
查看>>
函数、函数表达式、作用域、闭包
查看>>
Android 系统开发_技术细节篇 -- 快速点击导致打开两个重复的 Activity
查看>>
三十分钟成为 Contributor | 为 TiKV 添加 built-in 函数
查看>>
webpack4 系列教程: 前言
查看>>
PHP协程
查看>>
区块链技术阅读列表
查看>>
重要通知:7月31日前尽快升级您的Forge应用程序到TLS 1.2
查看>>
【刷算法】翻转单链表的递归和非递归方法
查看>>
阿里云AI如何助攻世界杯?视频集锦背后的技术实践
查看>>
ES6 系列之模拟实现 Symbol 类型
查看>>
小程序弹出菜单的实现
查看>>
领域驱动设计实战案例(六):订单上下文领域逻辑
查看>>
微信小程序开发搜索功能(前端+后端+数据库)
查看>>
装饰器模式(Decorator)
查看>>