HTTP Status 404(The requested resource is not available)異常主要是路徑錯誤或拼寫錯誤造成的,請按以下步驟逐一排查:
1. 右鍵項目點擊properties,找到Java Build Path 中Order and Export 檢查Tomcat是否勾選
2. 找到WEB-INF/lib 下是否有以下文件(1、2方法有其一即可,這兩種解決了我遇到的問題,以下7中方法摘自一位大神博客,大家盡可能嘗試,來解決自己的問題)
3.未部署Web應用
4.URL輸入錯誤
a.查看URL的IP地址和端口號是否書寫正確。
b.查看上下文路徑是否正確 Project--------Properties------MyElipse-----Web----- Web Context-root檢查這個路徑名稱是否書寫正確。
c.檢查一下文件名稱是否書寫正確。
5.目錄不能被引用
在 Eclipse的“包資源管理器(Package Explorer)”檢查文件存放的位置。由於META-INF WEB-INF文件夾下的內容無法對外發布,所以,如果你引用了帶這兩個目錄的文件,肯定是不允許。
例如: http://localhost:8080/guestbook/WEB-INF/index.html就是錯誤的,文件位置存放錯誤
6. Tomcat服務器中web.xml中的問題
如果你的web應用程序有多個jsp頁面的話,當你點擊你web應用程序的虛擬根目錄時可能會出現404錯 誤,只是你只需要修改Tomcat服務器中web.xml
1 <init-param> 2 <param-name>listings</param-name> 3 <param-value>false(將其該為true)</param-value> 4 </init-param>
7.WEB-INF下面必須要有幾個固定的文件夾和文件
web.xml 該web app的配置文件
lib 該web app用到的庫文件
classes存放編譯好的servlet
請注意他們的名字,不要把classes寫成class
8. 如果要運行的不是.jsp文件,而是servlet(.class)文件,要配置web.xml(當然是WEB-INF下面的),加上以下字段:
1 <servlet> 2 <servlet-name>HelloWorldServlet</servlet-name> 3 <servlet-class>HelloWorldServlet</servlet-class> 4 </servlet> 5 <servlet-mapping> 6 <servlet-name>HelloWorldServlet</servlet-name> 7 <url-pattern>/HelloWorldServlet</url-pattern> 8 </servlet-mapping>
9.其他解決思路
以上方法無果,介於"HTTP Status 404(The requested resource is not available"異常發生情況的多樣性,采用替換大法:
步驟:
a.找一份正常的相同環境(找同學同事相同開發環境機子或者網上下載的正常demo等)
b.依次替換問題項目文件,進行排除,定位.直到解決.