2012-07-02 116 views
8

我只是想用Eclipse在我的本地Tomcat上運行一個servlet。HTTP狀態404 - 在Tomcat上的Eclipse

但我不斷收到這個錯誤,沒有任何想法做什麼不同。

我實際記錄在這裏:http://www.screenr.com/ZyD8

非常感謝!

我也改變了web.xml中這樣的:

 <?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    id="WebApp_ID" 
    version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" > 

    <display-name> 
TEST3 
    </display-name> 

    <welcome-file-list> 

     <welcome-file> 
TEST3 
     </welcome-file> 
    </welcome-file-list> 

    <servlet> 

     <servlet-name> 
helloServlet 
     </servlet-name> 

     <servlet-class> 
HelloServlet 
     </servlet-class> 
    </servlet> 

    <servlet-mapping> 

     <servlet-name> 
helloServlet 
     </servlet-name> 

     <url-pattern> 
/hello 
     </url-pattern> 
    </servlet-mapping> 

</web-app> 
+0

有不Servlet的包,如果是,那麼在web.xml –

+0

編寫完全合格的類名是在「默認包」。但即使我在包「test.servlet」中創建它,並將「test.servlet.HelloServlet」作爲類名在web.xml中創建,它也會提供相同的錯誤 – user387184

+0

請檢查我的答案。 –

回答

20

我已經看到了你的鏈接。

當你運行任何動態web項目。默認情況下,Servlet容器(在這種情況下是Tomcat)搜索歡迎列表中指定的文件。檢查web.xml,它應該包含這樣

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 

您還沒有從任何上述列表中創建文件條目。所以,運行

http://localhost:8080/TEST2會給你404錯誤。

而是運行:http://localhost:8080/TEST2/HelloSerlvet將調用已創建該servlet。

編輯:檢查日食的項目菜單,確認「自動構建」被選中,Servlet容器運行(http://localhost:8080)。編輯2:右鍵單擊項目 - >屬性,選擇Java Build Path - >源選項卡 - >更改默認輸出文件夾。創建/WebContent/WEB-INF/classes (在eclipse默認)

+0

請看我附帶的web.xml - 當我輸入「http:// localhost:8080/TEST2/HelloSerlvet」時,它會給出同樣的錯誤。我認爲班級在正確的位置沒有得到部署,但我不知道該怎麼辦? – user387184

+0

對不起,但我試了一切,仍然沒有工作。我必須把Buildpath放在「構建路徑上的源文件夾」的頂部,以及我應該放在「Default Output FOlder」下面。我應該檢查「允許輸出文件夾作爲源文件夾」嗎? – user387184

+0

請仔細閱讀。我提到要創建新的文件夾。編輯2 –

7

這是基於從Hardik米什拉的答案與一些亮點: 1.從文件瀏覽器(不通過Eclipse),手動創建「/ WEB-INF/classes目錄「/ WebContent 2.右鍵單擊項目 - >屬性,選擇Java Build Path - > source tab - >將默認輸出文件夾更改爲上面剛剛創建的文件夾。 3.轉到文件瀏覽器,而不是從Eclipse,因爲Eclipse的「項目資源管理器」可能有一些過濾器,不會顯示類文件夾。您應該看到在此目錄下編譯的.class文件

嘗試再次進行測試。如果它不起作用,重新啓動Eclipse一次,然後它應該工作。

4

我已經看到這些類型的問題相當長的一段時間,並已看到多種解決方案,其中一些休息仍然面臨同樣的問題。

一個簡單的解決方法是遍歷到的.java /的.jsp /等,右擊並選擇從服務器選項運行。

我發現這個解決方案是簡單而有效的運行方式。

路徑的Java資源 - > SRC - > - > example.java - >右鍵 - >運行爲 - >在服務器上運行。

即使在此之後,你也可以面對一些問題,如端口8005不可用,請按照下面的鏈接清理你當前的Apache設置,重新設置相同。

TOMCAT - HTTP Status 404

Deployment error:Starting of Tomcat failed, the server port 8080 is already in use

希望這一發現是有益的。

0

通常,當你修改web.xml文件,你應該「乾淨」的Tomcat。只需右鍵單擊Eclipse中的Tomcat並清理即可。爲項目做同樣的事情。您也可以停止Tomcat,從Tomcat中刪除應用程序(右鍵單擊Tomcat下的應用程序並刪除),然後將其添加回去。重新啓動Tomcat。