配置Spring異常處理之需要增加一個bean的配置:
增加了一個異常處理的bean
<!-- Exception Resolver--> <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="defaultErrorView"> <value>/exception/failure</value> </property>
<property name="exceptionMappings"> <props> <prop key="java.sql.SQLException">/exception/showDBError</prop> <prop key="java.lang.RuntimeException">/exception/showError</prop> </props> </property> </bean> |
這樣就可以統一分別處理不同Exception了。注意jsp頁面在request中attribute等于“exception”,
而不是“Exception”注意大小寫。頁面如下:
錯誤顯示頁面
<c:set value="${exception}" var="ee"/> <jsp:useBean id="ee" type="java.lang.Exception" /> <%=ee.getMessage()%><br> <%ee.printStackTrace( new java.io.PrintWriter(out));%>
|
當然也可以做得更友好些,例如可以顯示隱藏詳細信息。
增加了一個異常處理的bean
<!-- Exception Resolver--> <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="defaultErrorView"> <value>/exception/failure</value> </property>
<property name="exceptionMappings"> <props> <prop key="java.sql.SQLException">/exception/showDBError</prop> <prop key="java.lang.RuntimeException">/exception/showError</prop> </props> </property> </bean> |
這樣就可以統一分別處理不同Exception了。注意jsp頁面在request中attribute等于“exception”,
而不是“Exception”注意大小寫。頁面如下:
錯誤顯示頁面
<c:set value="${exception}" var="ee"/> <jsp:useBean id="ee" type="java.lang.Exception" /> <%=ee.getMessage()%><br> <%ee.printStackTrace( new java.io.PrintWriter(out));%>
|
當然也可以做得更友好些,例如可以顯示隱藏詳細信息。