在SpringMVC中,提供了一个全局异常处理器,用于对系统中出现的异常进行统一处理。在一般的系统中,DAO层、Service层及Controller层出现异常都以“throws Exception”的形式向上层抛出,最后都会有SpringMVC的前端控制器(DispatcherServlet)统一交由全局异常处理器进行异常处理。
1、HandlerExceptionResolver接口
在SpringMVC中提供的HandlerExceptionResolver接口可以实现全局异常处理器,该接口的源码如下:
package org.springframework.web.servlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.lang.Nullable;
public interface HandlerExceptionResolver {
@Nullable
ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex);
}
可以看到,HandlerExceptionResolver接口中定义了一个名为resolveException的方法,该方法主要用于处理Controller中的异常。参数“Exception ex”即为Controller或其下层抛出的异常。参数“Object handler”就是处理器适配器要执行的Handler对象。resolveException方法的返回值类型是ModelAndView,也就是说,可以通过这个返回值来设置发送异常时的显示页面。
2、综合实例
【实例】在SpringMVC项目中,使用使用

本文介绍如何在SpringMVC项目中使用HandlerExceptionResolver接口实现全局异常处理器,通过自定义异常类和处理器,确保系统异常能以友好的方式展现给用户。
1677

被折叠的 条评论
为什么被折叠?



