springmvc之异常处理SimpleMappingExceptionResolver

在springmvc.xml配置文件中配置:

    <!-- 配置使用 SimpleMappingExceptionResolver 来映射异常 -->
    <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionAttribute" value="ex"></property>
        <property name="exceptionMappings">
            <props>
                <prop key="java.lang.ArrayIndexOutOfBoundsException">error</prop>
            </props>
        </property>
    </bean>    

在java中:

    @RequestMapping(value="/testSimpleMappingExceptionResolver")
    public String testSimpleMappingExceptionResolver(@RequestParam("i") Integer i) {
        String [] vals = new String[10];
        System.out.println(vals[i]);
        return "success";
    }

index.jsp

<a href="testSimpleMappingExceptionResolver?i=9">testSimpleMappingExceptionResolver</a>

succes.jsp

<p>success</p>

error.jsp

    <h4>error page</h4>
    ${ex}

启动服务器之后:

springmvc之异常处理SimpleMappingExceptionResolver

点击:

springmvc之异常处理SimpleMappingExceptionResolver

将i=9改为i=23,并刷新:

springmvc之异常处理SimpleMappingExceptionResolver

会发生数组越界异常。

我们在springmvc.xml文件中配置了当抛出该异常时跳转到error界面,同时将异常信息命名为ex。 

总结:配置该异常处理可以定制发生异常时指定跳转的页面并打印相应异常信息。

springmvc之异常处理SimpleMappingExceptionResolver

上一篇:1451 - Average(数形结合)


下一篇:kettel的stream lookup报错