SpringMVC HandlerExceptionResolver踩坑记
来源:互联网 发布:jsp引入java文件 编辑:程序博客网 时间:2024/05/22 15:29
如果我们要自定义异常解析器,如统一返回json格式的异常信息给客户端,那我们就需要自定义HandlerExceptionResolver
。
之前是实现的接口HandlerExceptionResolver
,来处理ServiceException
和内部错误,后来想处理参数绑定异常BindException
,但死活不成功。
原因在于,SpringMVC默认有多个异常解析器,DefaultHandlerExceptionResolver
就是其中一个,而且它处理了BindException;同时,更为重要的是,(通过断点调试发现)它的顺序在自定义异常解析器之前,而org.springframework.web.servlet.DispatcherServlet#processHandlerException
中是按照这些解析器的顺序来处理异常的,一旦前面的解析器处理产生结果,后面的将不再执行:
for (HandlerExceptionResolver handlerExceptionResolver : this.handlerExceptionResolvers) { exMv = handlerExceptionResolver.resolveException(request, response, handler, ex); if (exMv != null) { break; } }
解决:把自定义的RestHandlerExceptionResolver
顺序调前:
public class RestHandlerExceptionResolver extends AbstractHandlerExceptionResolver {...省略其他代码 // 解析器顺序,越小发挥作用越早 public int getOrder() { return 0; }}
完。
阅读全文
1 0
- SpringMVC HandlerExceptionResolver踩坑记
- SpringMVC 异常处理 - HandlerExceptionResolver
- springMVC的HandlerExceptionResolver接口
- SpringMVC的HandlerExceptionResolver
- SpringMvc之HandlerExceptionResolver
- springmvc 之HandlerExceptionResolver
- 14.SpringMVC 异常处理 - HandlerExceptionResolver
- springMvc 自定义错误处理--HandlerExceptionResolver
- SpringMVC笔记之HandlerExceptionResolver异常处理
- SpringMVC 学习笔记(十) 异常处理HandlerExceptionResolver
- springmvc 统一异常处理 实现 HandlerExceptionResolver接口
- SpringMVC 异常处理HandlerExceptionResolver 笔记(八)
- SpringMVC框架中的异常解析器-ExceptionHandler和HandlerExceptionResolver
- SpringMVC框架中的异常解析器-ExceptionHandler和HandlerExceptionResolver
- SpringMVC框架中的异常解析器-ExceptionHandler和HandlerExceptionResolver(转)
- SpringMvc 你该知道如何在HandlerExceptionResolver中获取Model
- 利用HandlerExceptionResolver对SpringMVC进行统一异常处理
- SpringMVC源码剖析(七)- HandlerExceptionResolver异常解析器家族揭秘
- java基础之ioc和aop
- Java Web 2.2 CSS样式表(2)
- Pentest Tools:收集一套渗透测试中常用的脚本
- ActiveMQ系列—消息协议(Stomp协议)
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- SpringMVC HandlerExceptionResolver踩坑记
- 算法提高 ADV-210 2-1屏幕打印
- 关于R从不同数据源导入数据的几种方式总结
- 电话号码 C语言
- 织梦使用百度Ueditor编辑器上传图片自动生成绝对路径实现方法(测试可用)
- 巴什博奕(河南省多校联盟第六次)
- 面试过阿里等互联网大公司,我知道了这些套路
- Bootstrap插件(六)——警告框(alert.js)
- 操作系统启动过程