springmvc中拦截器与springmvc全局异常处理器的问题
2024-08-28 12:15:24
最近在做一个练手的小项目,
系统架构中用了springmvc的全局异常处理器,
做了系统的统一异常处理。
后来加入了springmvc的拦截器,
为了一些需求,
在拦截器中的 preHandle 方法 中抛出了系统自定义异常,
当时有有个疑惑,
就是抛出的这个异常全局异常处理器怎么处理的。
这里的全局异常处理器时通过实现HandlerExceptionResolver这个接口实现的
要指出的是 resolveException方法 中 handler中代表的是什么,我没遇到这个问题之前我认为这玩意可以强转成 HandlerMethod 对象 ,然后这个对象 获取 Method对象
Method method = handlerMethod.getMethod();
然后这个 method 是系统中抛出异常的方法。
这样理解是不正确的。
如果是这样的话,那么我在拦截器中抛出异常的话,那么这个method应该是 preHandle,
下面做了一个实验,
在拦截器中抛出了异常,
虽然是拦截器中抛出的异常,这里解析出来的method还是目标handler中的方法,
我之前理解的这个method是任何抛出异常的方法。
事实证明,理解错了。
最新文章
- 免费公开课,讲解强大的文档集成组件Aspose,现在可报名
- python-virtualenv(多个独立开发环境)
- 如何将CKeditor编辑器的上传和thinkphp结合
- Bean的作用域及生命周期
- 《Java程序设计》第五周学习总结
- HDU 4046 Panda
- new 动态分配数组空间
- 关于Highcharts图表组件动态修改属性的方法(API)总结之Series
- 黑马程序员——经典C语言程序设计100例
- 开源CMS赏析
- uploadify,实际开发案例【选择完文件点击上传才上传】
- Linux内存布局
- 透过源码看看Redis中如何计算QPS
- 怎么用snapman一个人在三天内开发出一个复杂的软件开发项目管理系统
- 回归算法比较(线性回归,Ridge回归,Lasso回归)
- SharePoint 配置PowerShell任务计划
- JustOj 2009: P1016 (dp)
- OpenStack平台上,windows云主机可以ping通百度但是无法打开网页,部分其它网页可以打开
- Bubble Sort冒泡排序
- screen 实战后台命令执行备份