Java Servlet 404 错误 [重复]

Java Servlet 404 errors [duplicate]

提问人:Barbog 提问时间:9/16/2008 更新时间:8/12/2009 访问量:10038

问:

当给定的页面中有一个页面时,罪魁祸首最有可能导致错误。由 Sun 的 J2EE 自动创建的 WAR 正在尝试在同一个 .WAR文件?
例如:
404 resource not founddeploytool

HTTP 状态 404 - /MyServlet/MyServlet

类型状态报告

消息 /MyServlet/MyServlet

描述请求的资源 (/MyServlet/MyServlet) 不可用。


相关新闻:其中,您希望有多少是特定于服务器的?例如:Sun Java Application Server vs Tomcat & Catalina

Java Web 应用程序 Servlet jakarta-EE

评论

0赞 Acn 1/6/2012
您没有从本地服务器收到响应,但您从 StackOverflow 服务器收到了很多响应。

答:

5赞 pkaeding 9/16/2008 #1

您的 Web 中是否有针对“MyServlet”的有效<servlet-mapping>.xml?这是我过去的头号罪魁祸首

1赞 MetroidFan2002 9/16/2008 #2

404 错误表示未找到请求的资源。正如 pkaeding 所建议的,这可能是由于 web.xml 文件中的 servlet 映射不正确(或不存在)。必须在 web.xml 文件中指定 Servlet,不仅如此,还必须将它们映射到特定路径(“url 映射”)。如果 “MyServlet” servlet 存在,但未映射到可能基于应用程序上下文根的 “/MyServlet/MyServlet” 解析的路径,并且没有其他任何内容(即另一个 Servlet 等)使用此路径解析,那么应用程序服务器将抛出 404,指出没有映射到给定路径。

0赞 nerraga 10/13/2008 #3

我花了大约一个小时来解决这个问题。OSX 上的 Tomcat 5.5.27 运行良好,直到我添加了另一个 servlet 和 servlet 映射,此时一切都返回了 404。我没有意识到这一点,但是当我添加一个新的servlet/servlet映射对时,我会将servlet映射放在servlet条目之前。这是一个很容易犯的错误,尽管在不给出任何类似于合理错误消息的情况下对整个应用程序进行膝盖限制似乎有点极端,但回想起来却非常有意义。

0赞 JeffJak 8/12/2009 #4

Servlet 映射是一个常见问题。但是,如果您的 web.xml 中有任何装配器,它们也可能是罪魁祸首。需要注意的一件事是,在任何 servlet 开始执行之前,过滤器总是在 doFilter 之前执行代码。(从技术上讲,过滤器在 doFilter 之后执行代码)在我们的代码中,我们创建了在某些情况下返回 404 的过滤器。有时,删除部分或全部过滤器映射将有助于发现它是否与过滤器映射相关。