Tomcat 404 Not Found错误

时间:2011-10-31 17:22:17

标签: jsp tomcat servlets

我的Web应用程序可以正常运行Eclipse& Tomcat在我的台式电脑上。当我将war文件上传到实际服务器时,我无法使用以下错误消息访问所有servlet。其他JSP和HTML文件没有问题。

The requested URL /HelloWorld/TryingServlet was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

这是如何引起的,我该如何解决?

2 个答案:

答案 0 :(得分:1)

试试这个网址:

http://YOUR_IP:8080/HelloWorld.war/TryingServlet

HelloWorld.war替换为war文件的实际名称......

答案 1 :(得分:1)

你的问题是在你的生产环境中,tomcat正在被一个apache httpd所支持,它不会向tomcat转发/foobar形式的URL(没有扩展名)的请求。 Apache不知道如何处理这些URL并尝试将它们作为磁盘中的静态文件提供。这些文件不存在,因此它会尝试执行配置错误的404规则(配置的404文件本身也会丢失 - 但这是另一个问题)。

解决方案:

  • 为所有servlet分配扩展名并指定为apache。 E.g .do(就像struts一样)所以你的servlet变成了/foobar.do。然后,您需要让您的系统管理员指定*.do转到tomcat。
  • 请求您的系统管理员配置apache以将所有请求发送到tomcat,而不是静态文件。 E.g *.jpg*.png*.css*.js