SpringMvc---异常处理

SpringMvc---异常处理

介绍

SringMvc提供了异常处理机制,相当于是Web阶段学习的异常处理跳转至指定页面。在SpringMvc中可以在配置文件中注册SimpleMappingExceptionResolver指定在出现什么异常就跳转到指定页面。

使用(配置文件)

首先注册SimpleMappingExceptionResolver,使用property标签为属性exceptionMappings【错误映射注入】,在里面用pros标签里的pro标签声明每一个可能碰见的错误的类型以及返回的视图名。

pro标签中 key值是可能出现的错误,标签对之间是返回的视图名,视图自己建,不写前缀就是视图控制器中的前缀,写了前缀就会去指定的前缀目录下找。

再使用一个property标签将错误的内容装进请求域中,在页面返回错误信息

    <!--配置SpringMvc的异常处理-->
    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="java.lang.ArithmeticException">error</prop>
            </props>
        </property>
<!--将错误信息保存到请求域中,value是key-->
        <property name="exceptionAttribute" value="ex"></property>
    </bean>

html页面中

<body>
出错了
<p th:text="${ex}"></p>
<a th:href="@{/}">返回首页</a>
</body>

使用(基于注解)

使用@ControllerAdvice注解生命异常处理类,在类中用@ExceptionHandler注解声明处理异常的方法,注解的参数就是可能出现的class类型的异常,最后返回视图名。

实际上也是一个controller

//使用@ControllerAdvice注解标识一个类,声明这个类是异常处理类
@ControllerAdvice
public class ExceptionController {
​
//    标注异常处理器的处理方法,里面的参数是可能出现的class类型的异常
    @ExceptionHandler({ArithmeticException.class,NullPointerException.class})
    public String testException(Model model,Exception e){
        model.addAttribute("ex",e);
        return "error";
    }
​
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值