程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP培訓之異常處理

JSP培訓之異常處理

編輯:關於JSP

    要對JSP程序可能產生的異常進行處理,可以從多個角度完成:可以針對特定的代碼,可以針對特定的文件,也可以針對錯誤的類型。
    如果針對特定的代碼,可以使用標准標簽庫中的核心標簽庫中的<c:catch>標簽。
    如果針對特定的文件,可以使用JSP的page指令中的isErrorPage屬性和errorPage屬性完成。
    如果針對特定類型的錯誤,可以使用web.xml配置文件。
    1 使用<c:catch>進行異常處理
    <c:catch>標簽可以針對特定的一行或者多行代碼。<c:catch>標簽的基本格式如下:
    <c:catch [var="存儲異常信息的變量"]>
       其他的JSP代碼,包括各種標簽
    </c:catch>
    用法與Java代碼中的try語句非常類似,把可能產生異常的代碼放在<c:catch>開始標志和結束標志之間。這樣,當這些代碼產生異常的時候,JSP容器會對異常進行處理。
    下面是一個對界面異常進行處理的例子:
    <c:catch>
       <c:out value="${user.address}"/>
    </c:catch>
    如果希望產生異常之後,把異常信息保存起來供其它的代碼使用,可以使用var屬性指定一個變量。
    下面的代碼會在異常產生的時候把異常信息存儲在exceptionInfo變量中:
    <c:catch var="exceptionInfo">
       <c:out value="${user.address}"/>
    </c:catch>
    如果需要可以在後面輸出異常的信息:
    <c:if test="${exceptionInfo != null}">
       運行時候產生異常,異常信息為:${exceptionInfo.message}
    </c:if>
    2 為頁面指定異常處理文件
    如果不想針對每一段代碼都進行異常處理,可以以頁面作為單位進行異常處理,可以指定當前頁面運行過程中產生錯誤的時候,由特定的頁面對異常進行處理。
    采用這種異常處理方式,需要編寫一個專門的異常處理文件,然後在每個需要進行異常處理的文件中進行設置。
    編寫異常處理文件
    異常處理文件中需要使用page指令的isErrorPage屬性,格式如下:
    <%@ page isErrorPage="true"%>
    如果在頁面上進行了這樣的設置,頁面就具有了一項特殊的功能,能夠訪問異常對象exception。exception是JSP的內部對象,當頁面在運行過程中產生異常的時候,會拋出異常對象exception,該對象包含了異常信息。
    下面是一個異常處理文件:
    文件名:errorPage.jsp
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page isErrorPage="true"%>
    頁面產生異常,異常信息如下:${exception.message}
    為頁面指定異常處理文件
    要想讓頁面產生異常的時候,由專門的異常處理文件對異常進行處理,需要在該頁面中使用page指令的errorPage指定專門的異常處理界面,格式如下:
    <%@ page errorPage="異常處理文件"%>
    假設要設置前面編寫的errorPage.jsp頁面為當前頁面的異常處理文件,可以使用下面的代碼:
    <%@ page errorPage="errorPage.jsp"%>
    3 通過web.xml進行配置

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved