• Spring MVC——异常捕获


    1. 自定义异常类
    public class CustomerException extends Exception {

    private String message;

    public CustomerException() {
    super();
    }

    public CustomerException(String message) {
    super(message);

    this.message = message;
    }

    public String getMessage() {
    return message;
    }

    public void setMessage(String message) {
    this.message = message;
    }
    }

    2. 定义异常处理器,并实现org.springframework.web.servlet.HandlerExceptionResolver接口
    public class CustomerExceptionHandler implements HandlerExceptionResolver {

    @Override
    public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,Exception ex) {

    CustomerException cex = null;
    if(ex instanceof CustomerException)
    {
    cex = (CustomerException)ex;
    }
    else
    {
    cex = new CustomerException("未知错误!!");
    }

    System.out.println("异常:" + cex.getMessage());

    ModelAndView modelAndView = new ModelAndView();

    //保存错误信息
    modelAndView.addObject("errorMsg", cex.getMessage());

    //指定跳转视图
    modelAndView.setViewName("error");

    return modelAndView;
    }

    }

    3. 在spring-mvc.xml中配置全局异常处理器
    <!-- 自定义全局异常处理器,因为实现了org.springframework.web.servlet.HandlerExceptionResolver接口 -->
    <bean class="com.neuedu.exception.CustomerExceptionHandler"></bean>

    4. 在error.jsp页面显示异常处理器保存的异常信息

    对不起,您的操作引发了异常:${errorMsg}

    5. 异常类应用

    定义dao、service、controller,并在任意层制造异常

    6. 测试

    http://localhost:8088/springMvc_06_exception/index.jsp

  • 相关阅读:
    前端构建工具——Gulp
    jQuery事件命名空间
    浏览器类型鉴别那些事
    花式秀Mac——Mac快捷操作整理ing……
    解构jQuery之jQuery整体架构
    立即调用表达式
    iScroll小计
    JSONP原理及jQuery中的使用
    同源策略和跨域方法
    WebStrom、Sublime Text快捷键及使用技巧(补充ing...)
  • 原文地址:https://www.cnblogs.com/ccw95/p/6168700.html
Copyright © 2020-2023  润新知