异常处理:
当controller中方法在执行过程中如果出现异常,我们应该如何处理异常这种方式,称之为异常处理。
1、传统方式开发异常处理
HandlerExceptionResolver 处理异常解析类
import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; //传统方式处理异常以及自定义异常 @Component public class GlobalExceptionResolver implements HandlerExceptionResolver { //resolveException:当Controller中任意一个方法出现异常时,如果该控制器的方法没有自己处理异常(try catch),则会进入此方法 //参数一 request:当前请求对象 //参数二 response:当前请求对应响应对象 //参数三 o:当前出现错误的方法对象 //参数四 e:出现的异常对象 @Override public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) { ModelAndView modelAndView = new ModelAndView(); if(e instanceof MyException) { modelAndView.setViewName("MyException.html"); } else { modelAndView.setViewName("500.html"); } return modelAndView; } } //自定义异常 public class MyException extends RuntimeException { public MyException() { } public MyException(String message) { super(message); } }