web.xml中 error-page的正確用法


1

引言:

    在java web項目中,有時我們需要在錯誤發生時,給出用戶提示信息,或者顯示站點維護者信息,再或者將錯誤替換為另一種表達以舒緩情緒。這時可以采用web.xml的error-page標簽來實現。由於相關資料較多,此篇只為簡單指引。

    需要強調的是,error-page只要是一個java web項目便會支持,而不需要考慮框架插件等的引入。

正文:

一、按錯誤號指定跳轉。

1)創建錯誤處理頁。
  創建“/WEB-INF/404.html”(或者“/404.html”)。打開“404.html”,添加維護者聯系方式。

2)添加error-page標簽。
  向“web-app”添加“error-page”子結點,內容如下:

Xml代碼   收藏代碼
  1. <error-page>  
  2.  <error-code>404</error-code>  
  3.  <location>/WEB-INF/404.html</location>  
  4. </error-page>  



3)部署測試。
  隨手輸入一個不存在的url地址。可以看到404.html被正確顯示。

注:
  將404.html放在WebRoot/下或者WebRoot/WEB-INF/下均可。

二、按異常類型指定跳轉。

1)創建異常處理頁(以空指針異常為例)。

  A)創建servlet“Hello”在默認包“src/”目錄下。
  B)修改doGet(,)直接調用this.doPost(,)。
  C)在doPost(,)中插入注釋間的2行代碼。如下所示

Java代碼   收藏代碼
  1. out.println(", using the POST method");  
  2. // test snippet  
  3. Object obj = null;  
  4. out.println(obj.toString());  
  5. // <-test  
  6. out.println("  </BODY>");  


  手工制作一個NullPointerException。
  D)創建“nullPointerException.html”,並在內容中寫入“nullPointerException”。

2)添加error-page標簽。

  A)添加servlet配置如下:

Xml代碼   收藏代碼
  1. <servlet>  
  2.    <servlet-name>Hello</servlet-name>  
  3.    <servlet-class>Hello</servlet-class>  
  4.  </servlet>  
  5.  <servlet-mapping>  
  6.    <servlet-name>Hello</servlet-name>  
  7.    <url-pattern>/servlet/Hello</url-pattern>  
  8.  </servlet-mapping>  



  B)添加error-page:

Xml代碼   收藏代碼
  1. <error-page>  
  2.   <exception-type>java.lang.NullPointerException</exception-type>  
  3.   <location>/WEB-INF/nullPointerException.html</location>  
  4.  </error-page>  


 
3)部署測試。

  重部署后,訪問“http://localhost:8080/myJavaWeb/servlet/Hello”。便可看到“nullPointerException.html”頁的內容。


(完結)


免責聲明!

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



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