SpringMVC的异常处理

SpringMVC的异常处理

异常处理的思路

Controller调用Service,Service调用Dao,异常都是向上抛出的,最终有DispatcherServlet找异常处理器进行处理。

实现步骤

  1. 编写自定义异常类(做提示信息的)

    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;
        }
    }
    
  2. 编写异常处理器 实现 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;
        }
    }
    
  3. 在springmvc.xml配置异常处理器

    <bean class="com.hzj.exception.MyExceptionResolver"/>
    

再出异常就会跳转到/WEB-INF/jsp/error.jsp页面提示错误

posted @ 2021-03-04 10:46  夕子学姐  阅读(62)  评论(0)    收藏  举报