zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    P2167 [SDOI2009]Bill的挑战
    P2153 [SDOI2009]晨跑
    洛咕 P2155 [SDOI2008]沙拉公主的困惑
    洛咕 P2465 [SDOI2008]山贼集团
    洛咕 P2463 [SDOI2008]Sandy的卡片
    洛咕 P4556 [Vani有约会]雨天的尾巴
    CF418D Big Problems for Organizers
    CF28D Don't fear, DravDe is kind
    CF97C Winning Strategy
    P4427 [BJOI2018]求和
  • 原文地址:https://www.cnblogs.com/ccw95/p/6168700.html
Copyright © 2011-2022 走看看