SpringMVC的异常处理
SpringMVC的异常处理
异常处理的思路
Controller调用Service,Service调用Dao,异常都是向上抛出的,最终有DispatcherServlet找异常处理器进行处理。
实现步骤
-
编写自定义异常类(做提示信息的)
public class MyException extends Exception{ private String message; public MyException(String message) { this.message = message; } @Override public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
-
编写异常处理器 实现
HandlerExceptionResolver
接口public class MyExceptionResolver implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) { //获取到异常对象 MyException exception; if (e instanceof MyException){ exception = (MyException) e; }else { exception = new MyException("出错了"); } //创建ModelAndView对象 ModelAndView mv = new ModelAndView("error"); mv.addObject("errorMsg", exception.getMessage()); return mv; } }
-
在springmvc.xml配置异常处理器
<bean class="com.hzj.exception.MyExceptionResolver"/>
再出异常就会跳转到/WEB-INF/jsp/error.jsp页面提示错误