SpringMVC的异常处理

异常处理的思路

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

实现步骤

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    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 接口

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    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配置异常处理器

    1
    <bean class="com.xzxj.exception.MyExceptionResolver"/>

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

  • Copyrights © 2020-2023 夕子学姐
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信