0

我正在尝试使用 Eclipse Juno 和 Tomcat 7 设置动态 Web 应用程序。我的问题是,如果我的文件结构是,我只能让我的 servlet 运行

MyProject/Java 资源/src/(默认包)/MyServlet.java

我读过我应该避免使用默认包(不知道为什么)但是当我尝试使用不同的包时:

MyProject/Java 资源/src/myPackage/MyServlet.java

我收到错误消息:

HTTP 状态 404 - /MyProject/MyServlet 请求的资源不可用

它只是一个小型测试项目,因此我可以启动一个新工作区并在必要时重新创建项目。我想我必须在某处改变路径,但我不知道在哪里或如何。

我在 web.xml 中使用以下内容让它工作

<servlet>
     <servlet-name>QNumInput</servlet-name>
     <servlet-class>myPackage.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
     <servlet-name>QNumInput</servlet-name>
     <url-pattern>/QNumInput/QNumReq.do</url-pattern>
</servlet-mapping>

index.html 文件使用以下标记调用它:

<form name="getQNumForm" 
            action="http://localhost:8080/MyProject/QNumInput/QNumReq.do" 
            METHOD = "POST"> 
<B>Enter Question Number 1 to 200</B>
<INPUT TYPE="TEXT" NAME="qNumber">
<INPUT TYPE="SUBMIT" VALUE="Request Question Text">
</form>

起初它不起作用,所以我通过右键单击服务器清理了 tomcat 工作目录(不确定是否有必要)它仍然不起作用,所以我放弃并退出了 Eclipse。这一定保存了新设置,因为当我再次启动 Eclipse 并再次尝试时,它工作正常。谢谢您的帮助。危险品

4

1 回答 1

1

您需要确保正确设置 web.xml 中的<servlet-mapping><servlet>元素。

于 2013-08-01T12:46:38.613 回答