SpringMVC的异常处理器

1 基于xml配置的异常处理器

SpringMVC提供了一个处理器的控制方法,执行过程中所出现的异常的接口: HandleExceptionResolve
HandleExceptionResolve 接口的实现类有:DefaultHandleExceptionResolve和SimpleMappingExceptionResolver

SpringMVC 也提供了自定义的异常处理器 SimpleMappingExceptionResolver

接口: HandleExceptionResolve: 只提供了一个抽象方法 resolveException解析异常,如果控制器方法中在执行时出现了指定异常
返回modelandview
在这里插入图片描述
DefaultHandleExceptionResolve:默认的异常处理解析器
SimpleMappingExceptionResolver:当我们不想用默认的 就可以配置这个
在这里插入图片描述
将自定义的异常处理器 配置到配置文件中,

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <!--设置属性值,实现了view 的页面跳转-->
            <props>
                <!-- key-value-->
                <!-- key设置要处理的异常,
                value设置出现该异常要跳转到的页面对应的逻辑视图-->
                <prop key="java.lang.ArithmeticException">error</prop>
            </props>
        </property>
        <!--设置共享到请求域中的异常信息的属性名-->
        <property name="exceptionAttribute" value="ex"></property>
    </bean>

逻辑视图:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>错误</title>
</head>
<body>
<h1>error.html</h1>
<p th:text="${ex}"></p>
</body>
</html>

2 基于注解配置异常处理器

// 将当前类表示为异常处理的组件
@ControllerAdvice
public class ExceptionController {
   //设置要处理的异常信息
    @ExceptionHandler(ArithmeticException.class) //异常处理
    //出现异常就会执行下面的方法
    //ex来表示控制器方法所出现的异常
     public String handleException(Throwable ex, Model model){
        model.addAttribute("ex",ex);
        return "error";
     }
}

二者去方便的即可

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值