接上文SpringMVC系列:DispatcherServlet的小秘密
- 解决问题
- ControllerAdvice
- 加载入口
- HandlerExceptionResolver
本次主要处理后端服务器报错时,错误信息泄露到前端问题,以及影响用户体验,对此进行异常处理。
通过注解方式实现,需要配置再注解扫码路基内
加载入口//处理器异常解析器 DispatcherServlet#onRefresh--> DispatcherServlet#initStrategies--> DispatcherServlet#initHandlerExceptionResolvers
//定义处理方式
@ControllerAdvice
public class ExceptionCatch {
@ExceptionHandler(Exception.class)
@ResponseBody
public String exception(Exception e) {
Map result = new HashMap<>();
result.put(RequestConstant.API_STATUE, RequestConstant.ERRORO);
result.put(RequestConstant.API_MESSAGE, e.getMessage());
return JSON.toJSONString(result);
}
}
异常捕获处理
DispatcherServlet#doDispatch
执行异常处理业务
按照顺序进行处理,只要不返回空则直接跳过后续异常处理机制。
需xml配置bean



