spring MVC中的异常统一处理

本文详细介绍了Spring MVC中使用SimpleMappingExceptionResolver进行统一异常处理的方法,包括配置默认错误页面、异常映射及处理404错误。通过示例展示了如何在spring-mvc.xml中设置异常处理策略。

1.spring MVC中定义了一个标准的异常处理类SimpleMappingExceptionResolver

该类实现了接口HandlerExceptionResolver

2.看下SimpleMappingExceptionResolver都包含那些东西吧

//默认的异常名字
        public static final String DEFAULT_EXCEPTION_ATTRIBUTE = "exception";
        //异常列表,包括什么异常要对应什么一场页面处理
        private Properties exceptionMappings;
        //排除的异常
        private Class<?>[] excludedExceptions;
        //默认异常处理页面
        private String defaultErrorView;
        //默认的状态 例如:500
        private Integer defaultStatusCode;
        //状态列表
        private Map<String, Integer> statusCodes = new HashMap<String, Integer>();
        //异常名字
        private String exceptionAttribute = DEFAULT_EXCEPTION_ATTRIBUTE;

上面列出的属性,一般我们用到的Properties,defaultErrorView这两个。

下面看看在spring-mvc.xml中的通用配置吧:

<!-- 统一异常处理 -->
    <bean id="handlerExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <!-- 定义的默认错误处理页面 -->
        <property name="defaultErrorView" value="error"></property>
        <!-- 定义错误类型和对应的页面处理 列表 -->
        <property name="exceptionMappings">
            <props>
                <!-- 举个例子 -->
                <prop key="java.sql.SQLException">error/sql</prop>
            </props>
        </property>
    </bean>

3.当然我们做完这些工作,还不能完全把所有的异常信息都处理好,有些像404的我们就无能为力了,解决的方法就是在web.xml中定义<error-page>来处理了

<error-page>
        <error-code>404</error-code>
        <location>/error/404.jsp</location>
    </error-page>

 

大体上一个常规的统一异常处理就完工了!

转载于:https://www.cnblogs.com/haoke/p/5005799.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值