濮阳杆衣贸易有限公司

主頁 > 知識庫 > JSP學(xué)習(xí)之異常處理實(shí)例分析

JSP學(xué)習(xí)之異常處理實(shí)例分析

熱門標(biāo)簽:四川保險智能外呼系統(tǒng)商家 商洛電銷 電銷機(jī)器人是有一些什么技術(shù) 地圖標(biāo)注線上教程 電銷機(jī)器人好賣么 北票市地圖標(biāo)注 杭州ai語音電銷機(jī)器人功能 高德地圖標(biāo)注樣式 杭州語音電銷機(jī)器人軟件

本文實(shí)例講述了JSP異常處理的方法。分享給大家供大家參考。具體如下:

要對JSP程序可能產(chǎn)生的異常進(jìn)行處理,可以從多個角度完成:可以針對特定的代碼,可以針對特定的文件,也可以針對錯誤的類型。

如果針對特定的代碼,可以使用標(biāo)準(zhǔn)標(biāo)簽庫中的核心標(biāo)簽庫中的c:catch>標(biāo)簽。

如果針對特定的文件,可以使用JSP的page指令中的isErrorPage屬性和errorPage屬性完成。

如果針對特定類型的錯誤,可以使用web.xml配置文件。

1 使用c:catch>進(jìn)行異常處理

c:catch>標(biāo)簽可以針對特定的一行或者多行代碼。c:catch>標(biāo)簽的基本格式如下:

復(fù)制代碼 代碼如下:
c:catch [var="存儲異常信息的變量"]>
其他的JSP代碼,包括各種標(biāo)簽
/c:catch>

用法與Java代碼中的try語句非常類似,把可能產(chǎn)生異常的代碼放在c:catch>開始標(biāo)志和結(jié)束標(biāo)志之間。這樣,當(dāng)這些代碼產(chǎn)生異常的時候,JSP容器會對異常進(jìn)行處理。

下面是一個對界面異常進(jìn)行處理的例子:

c:catch>
  c:out value="${user.address}"/>
/c:catch>

如果希望產(chǎn)生異常之后,把異常信息保存起來供其它的代碼使用,可以使用var屬性指定一個變量。

下面的代碼會在異常產(chǎn)生的時候把異常信息存儲在exceptionInfo變量中:

c:catch var="exceptionInfo">
  c:out value="${user.address}"/>
/c:catch>

如果需要可以在后面輸出異常的信息:

c:if test="${exceptionInfo != null}">
  運(yùn)行時候產(chǎn)生異常,異常信息為:${exceptionInfo.message}
/c:if>

2 為頁面指定異常處理文件

如果不想針對每一段代碼都進(jìn)行異常處理,可以以頁面作為單位進(jìn)行異常處理,可以指定當(dāng)前頁面運(yùn)行過程中產(chǎn)生錯誤的時候,由特定的頁面對異常進(jìn)行處理。

采用這種異常處理方式,需要編寫一個專門的異常處理文件,然后在每個需要進(jìn)行異常處理的文件中進(jìn)行設(shè)置。

編寫異常處理文件

異常處理文件中需要使用page指令的isErrorPage屬性,格式如下:

復(fù)制代碼 代碼如下:
%@ page isErrorPage="true"%>

如果在頁面上進(jìn)行了這樣的設(shè)置,頁面就具有了一項(xiàng)特殊的功能,能夠訪問異常對象exception。exception是JSP的內(nèi)部對象,當(dāng)頁面在運(yùn)行過程中產(chǎn)生異常的時候,會拋出異常對象exception,該對象包含了異常信息。

下面是一個異常處理文件:

文件名:errorPage.jsp

%@ page contentType="text/html;charset=gb2312"%>
%@ page isErrorPage="true"%>

頁面產(chǎn)生異常,異常信息如下:

復(fù)制代碼 代碼如下:
${exception.message}

為頁面指定異常處理文件

要想讓頁面產(chǎn)生異常的時候,由專門的異常處理文件對異常進(jìn)行處理,需要在該頁面中使用page指令的errorPage指定專門的異常處理界面,格式如下:

復(fù)制代碼 代碼如下:
%@ page errorPage="異常處理文件"%>

假設(shè)要設(shè)置前面編寫的errorPage.jsp頁面為當(dāng)前頁面的異常處理文件,可以使用下面的代碼:
復(fù)制代碼 代碼如下:
%@ page errorPage="errorPage.jsp"%>

3 通過web.xml進(jìn)行配置

如果不想為每個頁面設(shè)置異常處理文件,可以為同一種類型的異常指定統(tǒng)一的異常處理文件。還有一些異常的處理是沒有辦法通過頁面設(shè)置來完成的,例如用戶輸入了網(wǎng)站中的一個不存在文件,這時候應(yīng)該告訴用戶文件不存在,但是這種異常是沒有辦法通過在頁面設(shè)置來解決的。

要想為每種類型的異常指定一個異常處理文件,可以通過web.xml進(jìn)行配置。在web.xml中進(jìn)行配置可以根據(jù)錯誤類型配置,例如NullPointException、IOException等,也可以根據(jù)錯誤編碼配置。

常見的異常編碼如下:

403錯誤:文件被禁止訪問;
404錯誤:文件沒有找到;
500錯誤:文件在運(yùn)行過程中發(fā)生未知錯誤。
根據(jù)異常類型進(jìn)行配置,可以使用下面的代碼:

error-page>
   exception-type >java.lang.NullPointerException/exception-type>
  location>/nullpointer.jsp/location>
/error-page>

根據(jù)異常編碼進(jìn)行配置,可以使用下面的代碼:

error-page>
  error-code>401/error-code>
  location>/401.jsp/location>
/error-page>

希望本文所述對大家的JSP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • javascript編程異常處理實(shí)例小結(jié)
  • 淺談JavaScript異常處理語句
  • 詳解JavaScript中的異常處理方法
  • JavaScript 異常處理 詳解
  • JS異常處理try..catch語句的作用和實(shí)例
  • JS中的異常處理方法分享
  • js中的異常處理try...catch使用介紹
  • JS異常處理的一個想法(sofish)
  • javascript 異常處理使用總結(jié)
  • javascript中異常處理案例(推薦)

標(biāo)簽:紅河 青島 西藏 丹東 江西 宿州 貴州 云浮

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JSP學(xué)習(xí)之異常處理實(shí)例分析》,本文關(guān)鍵詞  JSP,學(xué),習(xí)之,異常,處理,實(shí)例分析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JSP學(xué)習(xí)之異常處理實(shí)例分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于JSP學(xué)習(xí)之異常處理實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    东源县| 沙湾县| 乌苏市| 东兰县| 休宁县| 福州市| 新沂市| 玉环县| 高清| 观塘区| 简阳市| 南昌市| 邵武市| 福泉市| 永修县| 墨竹工卡县| 宁明县| 惠来县| 赣榆县| 措勤县| 西藏| 娄烦县| 视频| 奈曼旗| 景德镇市| 常宁市| 凤山市| 房产| 珲春市| 平果县| 抚远县| 东乌| 永胜县| 金湖县| 台中市| 灵台县| 普安县| 天镇县| 罗山县| 平塘县| 五常市|