我的環境是eclipse (查了一下2013EEIDE)+tomcat7.0+Servlet3.0
項目名稱:day08BookManageCase
servlet類是new servlet出來的如下代碼,大部分代碼省略,隻留了注解部分。
/**
* Servlet implementation class FindAllServlet
*/
@WebServlet("/FindAllServlet")
public class FindAllServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
.......
index.html
<body>
<a href="/day08BookManageCase/FindAllServlet">查詢所有書籍</a>
</body>
當通過這個頁面通路的時候出現了404錯誤。
問題解決:
因為控制台中沒有任何報錯資訊,最後隻能在網上找,最後問題解決了。
出現上述錯誤的原因是我在建立項目的時候,沒有自動生成web.xml
而是copy了之前的一個web.xml,而在之前的這個web.xml中,并不能通過讀取web.xml檔案關聯注解了的servlet類。
是以最後修改了web.xml标簽的屬性,問題得到解決。
==========================================================
那麼對于上述問題,我看到的錯誤隻是404錯誤,就是找不到頁面,而這樣的錯誤,往往是在控制台中沒有任何的異常資訊會出現的。
而web程式的啟動,必然是要去讀取web.xml檔案。
是以,當出現這種的錯誤的時候,我們要去檢視以下幾點:
1.web.xml 檔案是否已經建立了
2.web.xml檔案的位置是否對了
3.web.xml檔案的配置資訊是否是對的
包括:web标簽本身的屬性資訊、标簽内部的配置資訊。 支援注解的web.xml的标簽頭如下: <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
最後,還要注意的是軟體之間是否互相支援。
比如如你用低版本的eclipse,高版本的tomcat,中期版本的servlet這樣就極有可能出現各種問題。是以在配置系統的開發環境的時候
要注意一下,版本之間的相容性,也可以直接在網上找相應的版本組合。