JSP頁面的異常處理


對於jsp頁面錯誤處理這里大致有兩種方式:
一、在Web.xml中配置全局的錯誤異常處理

    即凡是該項目下(即虛擬路徑下的所有文件)的任意一個文件錯誤或者異常,都會跳到指定的錯誤處理頁面。
    全局的錯誤處理可以處理兩種類型的錯誤:一種是HTTP代碼的錯誤,如404,500,還有一種是異常的錯誤,如:NullPointerException
   
 例如修改web.xml文件,加入以下代碼:
<error-page>

 <error-code>500</error-code>
 <location>目錄/error.jsp</location>
</error-page>
 
<error-page>
 <error-code>404</error-code>
 <location>目錄/notfount.jsp</location>
</error-page>
 
<error-page>
 <exception-type>java.lang.NullPointerException</exception-type>
 <location>/目錄/error.jsp</location>
</error-page>
 <error-page>
  <exception-type>java.lang.Exception</exception-type>
  <location>
/目錄/exception.jsp</location>
</error-page>

######:注意:
1、可以在web.xml文件中使用<error-page>元素為整個WEB應用程序設置錯誤處理頁面,其中的<exception- type>子元素指定異常類的完全限定名,<location>元素指定以“/”開頭的錯誤處理頁面的路徑。??
    2、由於如果用戶直接訪問errorpage會發生空指針異常,所以errorpage一般被放在WEB-INF目錄下,只有轉發機制才可以訪問到,而錯誤跳轉使用的正是轉發機制。

二、局部異常處理
 

1、在可能出現異常的Java腳本中,加上try...catch

<%

try{

}

catch(){

}

%>

2、在page指令中增加errorPage屬性

<%@   page  errorPage="/error.jsp" %>

errorPage的屬性必須使用相對路徑,如果一“/”開發,那么代表Web工程的根目錄

 

如果我們指定了errorPage屬性的值為error.jsp,那么在訪問出現錯誤時,就會跳轉到error.jsp(是轉發過去的),如果想要了解異常的信息和對其進行處理,那么就要在error.jsp中設置page指令中的isErrorPage屬性

<%@  page  isErrorPage="true"%>

那么,在這個頁面中,就可以調用exception隱式對象比如:

對不起,出錯了:<%=exception.getMessage() %>

。如果沒有將isErrorPage屬性設置為true的話,exception隱式對象是不可以調用的。

####注意:

  errorPage屬性的設置值必須使用相對路徑,如果以“/”開頭,表示相對於當前WEB應用程序的根目錄(注意不是站點根目錄),否則,表示相對於當前頁


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM