歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Spring MVC 異常,怎樣顯示比較友好?

Spring MVC 異常,怎樣顯示比較友好?

日期:2017/3/1 10:21:15   编辑:Linux編程

本文基於Spring 注解,讓Spring跑起來。本文使用Mysql數據庫。

實施過程中完全沒有任何異常,測試過程中也沒出錯,偏偏在客戶試用過程中報錯了。報錯了,怎樣給客戶友好界面?兩個方法:一,別出錯;二,一旦錯了,盡量給一個友好界面。

友好界面是設計師的事,程序員的事就是讓錯誤顯示在設計師設計好的界面上。

在src/applicationContext.xml中添加如下代碼:

  1. <!-- 異常控制 -->
  2. lt;bean id="exceptionResolver"
  3. class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
  4. <property name="defaultErrorView" value="/exception" />
  5. <property name="exceptionMappings">
  6. <props>
  7. <prop key="java.lang.Exception">/exception</prop>
  8. </props>
  9. </property>
  10. lt;/bean>

這一段代碼可使程序運行過程中出現Exception時,自動跳轉到/WEB-INF/pages/exception.jsp頁面,而在exception.jsp頁面以如下方式獲取異常:
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  4. <!DOCTYPE html
  5. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  6. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html>
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  10. <script type="text/javascript">
  11. function showErrors() {
  12. var err_el = document.getElementById('errors');
  13. if (err_el.style.display == 'none') {
  14. err_el.style.display = '';
  15. } else {
  16. err_el.style.display = 'none';
  17. }
  18. }
  19. </script>
  20. </head>
  21. <body>
  22. ${exception.message },您可以
  23. <a href="javascript:showErrors();">查看詳情</a>或直接
  24. <a href="javascript:reback();">返回</a>。
  25. <div style="display: none; color: red;" id="errors">
  26. <c:forEach items="${exception.stackTrace }" var="e">
  27. ${e }<br />
  28. </c:forEach>
  29. </div>
  30. </body>
  31. </html>
當然,這遠沒有達到“友好界面”,請對exception.jsp頁面重新改造,讓它看起來順眼一點。
Copyright © Linux教程網 All Rights Reserved