我的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.
这是如何引起的,我该如何解决?
答案 0 :(得分:1)
试试这个网址:
http://YOUR_IP:8080/HelloWorld.war/TryingServlet
将HelloWorld.war
替换为war文件的实际名称......
答案 1 :(得分:1)
你的问题是在你的生产环境中,tomcat正在被一个apache httpd所支持,它不会向tomcat转发/foobar
形式的URL(没有扩展名)的请求。 Apache不知道如何处理这些URL并尝试将它们作为磁盘中的静态文件提供。这些文件不存在,因此它会尝试执行配置错误的404规则(配置的404文件本身也会丢失 - 但这是另一个问题)。
解决方案:
.do
(就像struts一样)所以你的servlet变成了/foobar.do
。然后,您需要让您的系统管理员指定*.do
转到tomcat。*.jpg
,*.png
,*.css
,*.js
等