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

  • 相关阅读:
    集合
    WPF自定义控件--模拟手机密码输入控件,在输入时显示最后一个输入密码字符
    配置VS不生成XML和PDB文件
    Wlan常见命令(可以查看连接密码)
    云栖社区用机器人爬CSDN的文章?
    Marshal.PtrToStringAnsi中文乱码
    各种手工DIY
    yii2修改默认控制器
    3D模型网站分享
    SemanticZoom配合GridView组件的使用关键点
  • 原文地址:https://www.cnblogs.com/ccw95/p/6168700.html
Copyright © 2011-2022 走看看