2013-02-20 55 views
1

好的,這應該是基本的,我已經通過eclipse和weblogic多次使用過servlet,沒有問題。但是,對於Tomcat 6,我遇到了Servlet映射的問題。Tomcat 6沒有檢測到Servlet

的web.xml:

<web-app 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_2_5.xsd" 
    version="2.5"> 

    <description> 
     Servlet and JSP Examples. 
    </description> 
    <display-name>Servlet and JSP Examples</display-name> 
    <servlet> 
     <servlet-name>HelloWorldExample</servlet-name> 
     <servlet-class>HelloWorldExample</servlet-class> 
    </servlet> 


    <servlet-mapping> 
     <servlet-name>HelloWorldExample</servlet-name> 
     <url-pattern>/HelloWorldExample</url-pattern> 
    </servlet-mapping> 

</web-app> 

我的web.xml文件位於我的WEB-INF文件夾,我的servlet HelloWorldExample.class位於WEB-INF /班/

它們都位於在Tomcat的/ webapps /目錄CH1/

至於我可以看到它是一切OK,但是試錯和多個重新啓動的小時後我仍然得到:

類型狀態報告

消息/ CH1/HelloWorldExample

描述所請求的資源不可用。目錄結構的

http://localhost:8080/ch1/HelloWorldExample 

截屏

folders

如果有人能指出我在哪裏犯錯誤,我會永遠感激:)

+0

您可以訪問任何JSP在戰爭結束後後記得要restart the Tomcat Server將它部署到tomcat中? – 2013-02-20 07:13:02

+2

爲什麼你的servlet類沒有包? – Jason 2013-02-20 07:13:50

+0

@LuiggiMendoza它不是戰爭文件。我正在手動做。它的作品文件通過Eclipe – Rhys 2013-02-20 07:25:56

回答

2

您應該build and export a WAR file,並在Tomcat上部署它,然後它會自動走在正確的地方。另外,要注意你的web.xml中的這一部分:

<servlet> 
    <servlet-name>HelloWorldExample</servlet-name> 
    <servlet-class>HelloWorldExample</servlet-class> 
</servlet> 

Servlet的類必須是完全合格的類名,即:your.package.classname(忽略,如果你使用的是默認的包,這通常是一種不好的做法)。當您處理這個問題時,我建議您安裝Tomcat 7並利用Servlet 3.0的優勢,即擺脫web.xml配置並使用servlet註釋。更多信息:

+0

我同意包裝是最好的,但這是測試,應該這樣工作。也annotion和3.0是偉大的,但我使用的系統只有2.5。因此,我瞭解web.xml – Rhys 2013-02-20 08:02:42

+0

@Rhys。但是,正如我所建議的那樣,將您的項目打包並進行部署 - 它應該可以解決您的問題。 – 2013-02-20 08:08:53

+0

我剛剛部署到戰爭,添加到webapps根目錄並重新啓動,也沒有運氣。我認爲我的tomcat安裝有問題 – Rhys 2013-02-20 08:15:32

2

你應該把文件夾「 ch1「下tomcat/webapps,不在tomcat/webapps/ROOT下。

按照此文件夾結構:

tomcat: 
--webapps 
----ch1 
--------META-INF 
--------WEB-INF 
----------classes 
----------lib 
----------web.xml 
+0

我已經試過了。但結果仍然相同。你會建議我使用哪個網址? – Rhys 2013-02-20 07:22:13

+0

你可以發佈你的文件夾結構嗎? – Jason 2013-02-20 07:27:05

+0

你確定web.xml是在META-INF下,我認爲它是假設在WEB-INF – Rhys 2013-02-20 07:55:37

0

ch1文件夾應該是webapps不低於下webapps/ROOT

0

請從webapps/ROOT 移動CH1文件夾webapps而這種變化