熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

JSP培訓之異常處理

2013-11-15 12:02:26  來源: JSP教程 

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


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20135.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.