我正在编写 Java Web 应用程序,但在让我的 servlet 正常工作时遇到问题。
这是来 self 的 web.xml 文件:
<servlet>
<description>Called to process any forms on the website</description>
<display-name>Form Processing Servlet</display-name>
<servlet-name>FormAction</servlet-name>
<servlet-class>com.devwork.servlets.FormAction</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FormAction</servlet-name>
<url-pattern>/servlet/FormAction</url-pattern>
</servlet-mapping>
</web-app>
但是,当我将应用程序部署到 Glassfish 3 时,当通过 HTTP POST 将表单中的数据发送到正确的 servlet URL 时,它会返回 404。地址栏上有 servlet 的正确 URL,并且该 servlet 在 Glassfish 3 管理面板中显示为与其他 servlet 以及 WAR 文件中包含的内容一起安装。
我的 sun-web.xml 文件是 Eclipse 3.5.1 生成的标准文件,因此这应该不是问题。谁能指出我解决这个问题的正确方向?服务器日志文件表明 WAR 已成功部署。
谢谢。
最佳答案
我想到了两种可能性:
(1) servlet(或 webapp,如果不同)无法启动。日志或者控制台应该有ERROR信息。
(2) Servlet 位于非根的 Web 应用程序中(例如/myWebApp),并且 URL 指定 http://myHost.com/servlet/FormAction什么时候应该是 http://myHost.com/myWebApp/servlet/FormAction
关于java - 诊断 servlet 的 404 错误问题(Eclipse 和 Glassfish 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2068162/