2011-11-07 49 views

回答

5

只顯示一個HTTP 404錯誤頁面,它可以是servlet容器的默認頁面,也可以是<error-page>對於<error-code>404</error-code>,web.xml定義的頁面。

或者,如果servletcontainer默認配置爲顯示目錄列表,則會顯示它。在Tomcat中,它可配置爲/conf/web.xml中默認servlet的初始參數listings。如果你有一個(設計不好的?)servlet或過濾器被映射到/*/並且沒有正常工作,那麼你會看到它的響應體。

如果您嘗試了一下並自己嘗試一下,那麼您自己也會看到它。下面是Tomcat的默認HTTP 404錯誤頁面的畫面:

enter image description here

而這裏的Tomcat的默認目錄列表的屏幕:

enter image description here

+0

不,它沒有顯示HTTP 404錯誤頁面。它是否會逐個執行所有過濾器,並在使用doFilter方法發現其中至少有一個時停止? –

+0

是的,這也是一個可能的原因。如果他們按照預期完成他們的工作,特別是servlet,檢查所有已在'/ *'或'/'上映射的servlet和過濾器,因爲將它們映射到全局URL模式被認爲是不好的做法。 – BalusC

+1

@BalusC如果不定義歡迎頁面時,WebLogic Server會在以下順序下列文件和提供它找到的第一個: 的index.html index.htm的 的index.jsp 這是我在這裏找到http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html#1026980 –

2

這個答案可能是具體到Tomcat 7服務器。

如果不定義歡迎頁面,Tomcat的7查找以下順序下列文件和提供它找到的第一個:

的index.html,index.htm的,index.jsp的

因此,如果上述文件都不存在,則會引發HTTP狀態404錯誤。

+0

Nirmal,這不是一個答案。這本身就是一個問題,應該發佈給其他人,以便爲您提供答案。在你的問題中,你可以指出這個問題以供參考。 – zEro

+0

@zEro,對不起,以前的條目。現在修改它。 – nirmalsingh