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

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827240
          • 排名 - 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
          主站蜘蛛池模板: 清流县| 开封县| 兰坪| 石门县| 涡阳县| 桦川县| 澄江县| 田阳县| 平定县| 南靖县| 巴南区| 洛川县| 甘孜县| 曲阜市| 合阳县| 大竹县| 广元市| 莱西市| 巨鹿县| 霍城县| 青铜峡市| 云浮市| 南召县| 陵水| 石首市| 巴彦淖尔市| 九龙坡区| 通化市| 巴马| 仙桃市| 区。| 海兴县| 三门峡市| 建水县| 怀来县| 涞源县| 襄垣县| 洮南市| 平顶山市| 星子县| 福州市|