当前位置: 首页 > news >正文

springmvc拦截器 和 异常拦截器

 springmvc拦截器的配置使用:

自定义监听器实现HandlerInterceptor接口:

在springmvc的配置文件中引入自定义拦截器对象及拦截目标

拦截器的方法调用

  自定义一个拦截器:

@Component
public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("成功执行");return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("测试方法在控制器执行顺序的前后");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("测试方法在控制器执行转发完毕或者结束后调用关闭资源");}
}

 

自定义一个拦截目标:

 

 拦截器及控制器方法的执行顺序:

  注意:

      preHandle方法执行返回值为false时,拦截此请求

default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {return true;
}

 异常拦截器:

        局部异常拦截器:

                加在controller中,只针对此控制器对象有效

        全局异常拦截器:

相关文章:

  • ai代码问题记录
  • 光纤三维布里渊温度和应变分布matlab模拟与仿真
  • 心跳机制讲解及实例
  • token无感刷新
  • 装饰者模式(设计模式)
  • JavaScript中的解构赋值
  • 为啥找对象千万别找大厂男,还好我不是大厂的。。
  • Python武器库开发-武器库篇之链接提取器(六十)
  • 【跟我学RISC-V】(三)openEuler特别篇
  • 园区无线网新架构:无CAPWAP的集中式转发
  • 一文详解:什么是小程序SDK?
  • java1.8运行arthas-boot.jar运行报错解决
  • 编程属于什么类学科门类:深入探索与解析
  • PDM 测试
  • idea自定义注释模板
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • CSS盒模型深入
  • CSS实用技巧干货
  • fetch 从初识到应用
  • HashMap剖析之内部结构
  • HTTP中的ETag在移动客户端的应用
  • JSONP原理
  • leetcode98. Validate Binary Search Tree
  • log4j2输出到kafka
  • mongodb--安装和初步使用教程
  • python docx文档转html页面
  • ReactNative开发常用的三方模块
  • Spring声明式事务管理之一:五大属性分析
  • 阿里云应用高可用服务公测发布
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 微信支付JSAPI,实测!终极方案
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 正则表达式-基础知识Review
  • ​queue --- 一个同步的队列类​
  • ​什么是bug?bug的源头在哪里?
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (1)svelte 教程:hello world
  • (2022 CVPR) Unbiased Teacher v2
  • (8)STL算法之替换
  • (Oracle)SQL优化技巧(一):分页查询
  • (二十四)Flask之flask-session组件
  • (规划)24届春招和25届暑假实习路线准备规划
  • (十八)SpringBoot之发送QQ邮件
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)ObjectiveC 深浅拷贝学习
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • *上位机的定义
  • .equals()到底是什么意思?
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET Framework .NET Core与 .NET 的区别