2012-01-26 77 views
7

我正在使用Tomcat 7和JSP頁面。我想爲HTTP 500錯誤提供自定義錯誤頁面。Internet Explorer中未顯示自定義HTTP錯誤頁面

我所做的是聲明自定義錯誤頁如下的web.xml

<error-page> 
    <error-code>500</error-code> 
    <location>/error.jsp</location> 
</error-page> 

我創建了一個JSP稱爲error.jsp用下面的代碼:

<%@ page pageEncoding="UTF-8" isErrorPage="true" %> 
<!DOCTYPE html> 
<html> 
    <head> 
    <title>500</title> 
    </head> 
    <body> 
    <img src="${pageContext.request.contextPath}/images/500.jpg" /> 
    </body> 
</html> 

現在這個工作在最瀏覽器,但在Internet Explorer中,我將採用標準的「網站無法顯示頁面」頁面。

爲什麼我的自定義HTTP 500錯誤頁面不在Internet Explorer中顯示?

回答

21

這是一個IE功能。當從服務器檢索到的HTTP錯誤頁面小於512字節時,IE將默認顯示一個「友好」錯誤頁面,如您正在面對的錯誤頁面,可通過配置工具> Internet選項>高級>取消選中「顯示友好錯誤信息「在瀏覽器中。其他(真實)瀏覽器沒有此功能。

使您的HTTP錯誤頁面大於512字節應該解決此IE功能。您可以添加一些額外的元頭,加上一些空白來縮進代碼,添加以下網站的標準佈局一些語義標記,添加大量HTML註釋等

+1

說真的,爲什麼IE是這樣的...... – Worthy7

+0

是的。即使我不得不這樣做來解決我的問題。但所有數據都正確顯示,除了標籤圖標。它顯示了默認的tomcat圖標。我的是一個簡單的html頁面。任何解決方案 –

1

發現,添加

<% response.setStatus(200); %> 

到錯誤的JSP頁面(即HTML標籤之前)將解決這個問題。

+0

我的選項卡圖標問題通過將響應狀態設置爲200解決。Thanx –

相關問題