簡體   English   中英

Tomcat6 + Ubuntu + Servlet

[英]Tomcat6 + Ubuntu + Servlet

我正在嘗試制作servlet。

我已經在ubuntu上使用管理示例和文檔安裝了tomcat6。 我可以運行提供的示例。 但是,當我嘗試制作自己的servlet時,它不起作用。

我做了以下步驟

在根目錄下,我使用以下命令創建文件夾

-ROOT
----myapp
------WEB-INF
---------classes

我制作了兩個文件,其中一個是index.html,它具有一個按鈕和窗體上的操作來調用servlet。 第二個是.java文件。 我編譯了.java文件,.class完成了。 所以現在樹看起來像

-ROOT
----myapp
------index.html
------WEB-INF
---------classes
-----------TestServ.java
-----------TestServ.class

現在我使用http:// localhost:8080 / myapp在瀏覽器中打開它

它與帶有按鈕的index.html頁面一起顯示。 但是當我點擊按鈕時,它說

錯誤404:找不到http:// localhost:8080 / myapp / TestServ !!

我不知道哪里出了問題。 我也設置了CATALINA_HOME。 但是這個問題仍然存在。

您需要在WEB-INF目錄中創建一個web.xml,並在web.xml中定義servlet映射,以便將myapp / TestServ URL轉發到TestServ servlet類。

是描述web.xml的頁面,並包含您需要設置的示例和元素。 對於您的班級,這些元素可能看起來像這樣:

<servlet>
    <servlet-name>testServ</servlet-name>
    <servlet-class>TestServ</servlet-class>
</servlet>

<servlet-mapping>
     <!-- For any URL starting with /content/, the rewriter servlet will be called -->
     <servlet-name>testServ</servlet-name>
     <url-pattern>/TestServ</url-pattern>
</servlet-mapping> 

您不應該在ROOT下部署任何代碼。

默認程序包中不應包含任何Java類。 嘗試將TestServ.java放入程序包中。

您的部署中不應包含任何.java文件。

您必須在web.xml中正確注冊servlet。 包括到特定URL的映射。

最好的辦法是創建一個名為myapp.war的WAR文件,其中包括WEB-INF / classes和WEB-INF / lib以及適合您情況的web.xml。 將其放在Tomcat / webapps中,然后啟動容器。 如果您已經正確注冊了servlet,則應該可以通過http:// localhost:8080 / myapp / TestServ對其進行訪問

我會仔細閱讀部署文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM