在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}
启动服务器之后:
点击:
将i=9改为i=23,并刷新:
会发生数组越界异常。
我们在springmvc.xml文件中配置了当抛出该异常时跳转到error界面,同时将异常信息命名为ex。
总结:配置该异常处理可以定制发生异常时指定跳转的页面并打印相应异常信息。