隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827218
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          業務異常的設計

            業務異常的層次結構設計在開發中也是非常重要的要作,業務異常體系結構的設計方法將直接影響
          到異常處理的方法.
            對于異常系統的結構通常會被劃分為三個層次,第一層為異常的基類,第二層為功能層或者模塊層,
          第三層為業務異常層,層與層之間是父子工的繼承關系.
            對于一個通用的異常系統而言,通常會定義一個異常基類,假設是BaseException,該類繼承自RuntimeException
          之所以將業務異常的基類定義為RuntimeException,是因為業務異常是否需要開發人員在開發過程中進行捕獲的
          對于業務異常的捕獲交給系統的框架或者表示層來完成.
            接下來,在BaseException的基礎之上,還要為應用中的每個層次定義一個異常基類.例如,業務層的異常
          可以定義為BusinessException,持久層的異常可以定義為DAOException等.當然,這一層次的異常也可以按照
          功能或者模塊來進行劃分,劃分的方式主要依賴于頂層對異常的處理方法.
            最后,就是為每一個業務異常定義相應的業務對象.另外,為減少異常對象的數量,在這一層也可以采取錯誤
          代碼,使得頂層的攔截程序可以依據錯誤代碼來得到相應的錯誤信息.

          異常處理方法

            Servlet容器中異常的處理
          在web.xml文件中進行異常處理的配置是通過<error-page>元素來進行的,它支持兩種類型的異常攔截.

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

          <error-page>
           <error-type>java.lang.NullPointException</error-type>
           <location>/error/nullPointer.jsp</location>
          </error-page>

          從JSP 2.0開始,除了在錯誤頁面中可以使用綁定到request的exception對象外,還增加了一個名稱為
          errorData的綁定到pageContext的對象,該對象是javax.servlet.jsp.ErrorData類的實例,它可以當做
          一個普通的Bean來使用,通過它的屬性可以了解到異常的更多信息.
          其屬性如下:
          屬性      類型      描述
          requestURI   String     發生請求失敗的URI
          servletName   String     發生錯誤的Servlet或者JSP頁面的名稱
          statueCode   int       發生錯誤的狀態碼
          throwable    Throwable    導致當前錯誤的異常
          例如:
          ...
          <title>404狀態碼錯誤的頁面</title>
          ...
          <jsp:useBean id="now" class="java.util.Date" />
          發生異常的時間:${now}<br>
          請求的地址: ${pageContext.errorData.requestURI }<br>
          錯誤狀態碼: ${pageContext.errorData.statueCode }<br>
          異常:    ${pageContext.errorData.throwable }
          ...

          自定義異常頁面

            自己在JSP頁面中的定義將會覆蓋在web.xml中的定義
            自定義異常頁面的方法如下
          <%@ page errorPage="/error/errorPage.jsp" %>

           



          posted on 2007-08-28 21:19 Ke 閱讀(406) 評論(0)  編輯  收藏 所屬分類: struts
          主站蜘蛛池模板: 四子王旗| 葵青区| 郯城县| 游戏| 龙陵县| 江陵县| 陆河县| 安福县| 佛山市| 简阳市| 故城县| 厦门市| 游戏| 澄江县| 土默特右旗| 晋江市| 滨海县| 钦州市| 平原县| 承德县| 高雄县| 罗江县| 兴海县| 宝清县| 曲水县| 东台市| 穆棱市| 新野县| 谢通门县| 中方县| 留坝县| 灯塔市| 云安县| 富民县| 新平| 怀柔区| 崇州市| 米泉市| 兰溪市| 明水县| 福建省|