0

我已将我的 HTML 页面放在我webapps\root\WebForte的 Tomcat 文件夹中。我想打开一个 servlet 页面webapps\classes\HelloWorld

我已经在 web.xml 中提到了以下内容:

<servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>HeloWorld</servlet-class>
 </servlet>
 <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/classes/HelloWorld</url-pattern>
 </servlet-mapping>

并从以下调用类

<form  id="docContainer" action = "HelloWorld" method="POST">

我收到HTTP Status 404 - /WebForte/HelloWorld错误。谁能帮我解决这个问题?

4

2 回答 2

0

我认为您不需要根目录,只需将您的 webapp 放在“webapps”下

根据你的 web.xml 来访问你的 servlet,你需要这个 url:

/类/HelloWorld

换句话说,只要 tomcat 看到“/classes/HelloWorld”,它就会将其映射到您的 servlet 并在那里发送请求。

我的猜测是,根据 404 错误,您的 url 应该是 /WebForte/classes/HelloWorld

还要记住,“/classes/HelloWorld”是任意的,你把你喜欢的任何东西放在那里

要弄清楚发生了什么,请尝试浏览器中的 url

目录结构应如下所示

webapps     
| 
- WebForte
  |
  - WEB-INF
    |
     -web.xml
     -classes
       |
         -HelloWorld.class
于 2013-10-08T19:35:15.093 回答
0

您需要将参数<display-name>完全像这样放在定义中:

 <servlet>
        <display-name>HelloWorld</display-name>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>com.yourpackage.servlet.HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>

并且您的 servlet 对请求是可见的。

于 2013-10-08T19:49:08.943 回答