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

1html

引言:

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

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

正文:

1、按錯誤號指定跳轉。

1)建立錯誤處理頁。
  建立「/WEB-INF/404.html」(或者「/404.html」)。打開「404.html」,添加維護者聯繫方式。

2)添加error-page標籤。
  向「web-app」添加「error-page」子結點,內容以下: java

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/下都可。

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

1)建立異常處理頁(以空指針異常爲例)。

  A)建立servlet「Hello」在默認包「src/」目錄下。
  B)修改doGet(,)直接調用this.doPost(,)。
  C)在doPost(,)中插入註釋間的2行代碼。以下所示 web

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配置以下: app

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」頁的內容。


(完結)測試

相關文章
相關標籤/搜索