點擊這裡使用RSS訂閱本Blog:
如何自訂Tomcat 404錯誤頁面 在Tomcat安裝目錄下的conf/web.xml最後的</web-app>之前增加如下代碼:
< error-page >
< error-code > 404 </ error-code >
< location > /ErrorPage404.jsp </ location >
</ error-page >
常見問題及解決:
404錯誤頁出現這個問題,我在web.xml定義了如下的定義,
< error-page >
< error-code > 404 </ error-code >
< location > /error_404.htm </ location >
</ error-page >
路徑的是對的,奇怪的是我測試時輸入一個不存在的頁,出現404錯誤提示出現的卻不是我所定義的頁面,這就怪了.我記得在weblogic中我也是這樣定 義的,所以我首先想到的時伺服器的問題. 只是這種問題,不要分析,我試著在javaworld發了一貼,問了一下. 在google上搜了一下,才發現很多人都出現過這個問題.這是實際出問題,要是一直照著課本,應該不會想到這些問題,只是自己實際操作的才發現這些.
通看了所有的文章,出現這種問題,主要有以下幾個因素:
1.使用 tomcat 伺服器
2.tomcat伺服器版本
3.瀏覽器問題
4.IE的設定
5.錯誤頁本身的大小
第一點,我想我的經曆應該可以算個證明.
第二點.很多人用tomcat5.5可以順利的找到錯誤頁
第三點.換了一下FF,可以順利找到指定的錯誤頁
第四點.我設定了 工具-->Internet選項-->進階--->顯示http友好錯誤資訊(取消選擇) ,可以順利定向到指定錯誤頁,
說明可以
第五點,我試著發狠輸了一大堆東西進去, 指定錯誤頁順利出現了.
下面是提供的解決方案:
1.升級tomcat (換成其它伺服器,代價沉重)
2.ie 設定 工具-->Internet選項-->進階--->顯示http友好錯誤資訊(取消選擇) ,
3. 把錯誤頁做大一點,具體幾個位元組,沒測試,估計三四百足夠了, (加一個div塊,display設為none就可以了)
4.設定指定錯誤頁頁狀態為正確,騙過IE的自訂錯誤頁方法
<%
response.setStatus( 200 ); // 200 = HttpServletResponse.SC_OK
%>
<script type="text/javascript" src="http://www.google.com/reader/ui/publisher.js"></script> <script type="text/javascript" src="http://www.google.com/reader/public/javascript/user/00697638153916680411/state/com.google/broadcast?n=5&callback=GRC_p(%7Bc%3A%22green%22%2Ct%3A%22%5Cu8FD9%5Cu4E9B%5Cu6587%5Cu7AE0%5Cu4E5F%5Cu503C%5Cu5F97%5Cu4E00%5Cu770B%22%2Cs%3A%22false%22%7D)%3Bnew%20GRC"></script>