当前位置: 首页 > 知识库问答 >
问题:

Tomcat在servlet中给出404错误

温峻熙
2023-03-14

我使用Tomcat7OracleJDK1.7以及NeatBeans 7.3开发了一个Java web应用程序。我的应用程序在本地pc上运行,没有任何错误。

但是在我托管了我的应用程序之后,我无法访问servlet。它给了我404错误。我不习惯web。xml在我的应用程序中映射servlet。我使用了注释

托管服务器使用Tomcat7OpenJDK1.7

可能是什么问题?我该怎么解决这个问题?

新更新

我购买主机的地方给了我上传文件的cPanel。tomcat中没有上传war文件的地方,也没有上传文件到webappsdirector的地方。所以我把文件上传到了public_html目录。我认为这可能就是问题所在。因为当我试图访问像www.mysite这样的servlet时。com/A,服务器在rootdirectoy中搜索。但事实上它并不存在。所以它给出了404错误。

我想这可能是问题所在。有什么建议吗?

更新

注释如下所示

@WebServlet(name = "AddCustomer", urlPatterns = {"/AddCustomer"})

从DropBox下载Servlet。

目录结构。

共有3个答案

颜畅
2023-03-14

检查以下各项:

  • 应用程序是否在tomcat/webapps下方

最后,也许你可以在网上发布部分内容。xml和您调用的url

编辑

这是你的代码树,但是tomcat webapp目录中部署了什么?您的编译类是否在WEB-INF下?

编辑你收到的关于webapp以public_html托管的新信息吗?我建议你联系托管服务器提供商的资源,以了解如何正确部署——可能根本不可能。

你可以尝试从亚马逊获得为期一年的EC2试用版

唐高朗
2023-03-14

注释不能“开箱即用”,您仍然需要告诉Tomcat查找带注释的Servlet类。要做到这一点,你需要使用正确版本的网站。xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee"  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
  version="3.0">

我没有使用过NetBeans,但是像Eclipse一样,它可能具有项目属性,允许您将动态Web项目方面指定为Servlet 3.0值,该值被翻译为上面显示的web.xml行。

您应该检查项目的WEB-INF文件夹中的WEB。xml或尝试正确导出它——WAR文件应该(必须?)导出包含WEB-INF/WEB。xml文件。

你可以在网站上使用Servlet 3.0版本来“告诉它”。xml标题。对于较早的版本,Tomcat不需要注释标记的servlet,也就是说,您必须在XML中手动列出它们。

至于更新后的问题——由于Apache HTTP服务器(可能是安装的)不理解WAR或JSP文件,您得到的是404,您需要将其配置为将请求转发到Tomcat,Tomcat可能位于另一个端口(默认为8080)——这被称为AJP或HTTP代理,也就是说,Apache服务器充当Tomcat的前端代理。在Stackoverflow这里有manny关于这个问题的答案。您不会将WAR文件部署到public_html,因为这是部署PHP或Perl webapps的地方。

如果您真的安装了Tomcat,您应该咨询您的托管提供商,它在哪个端口以及在哪里部署您的JavaWeb应用程序。

易研
2023-03-14

在“将Tomcatina\local类部署到您的项目中”之后,请检查“是否将Tomcatina\localcat类部署到您的项目中”。如果有课程,那就不应该是问题。

 类似资料:
  • 我试图使用Eclipse IDE在Apache Tomcat上执行一个简单的servlet。servlet本身正在执行,但当我试图调用html表单时,我将通过该表单向servlet传递用户数据,我得到错误404。我的做法是不正确的吗? 更新1:文件web.xml

  • 我制作了Spring web应用程序示例项目。我做了所有的基本配置,基于java的配置和servlet 3.0web.xml.但在所有这些配置后,当我打网址它给我404错误。会有什么问题。有人能帮帮我吗? 网状物xml: 配置java类: 控制器: 当我试图访问这个网址 它给我404错误。虽然当我直接访问jsp页面时,它显示该页面。

  • 我试图按照这里的教程来构建我的第一个tomcat应用程序。 虽然jsp部分工作良好,但我得到了Java servlet部分的404。这里是我的相关文件和目录结构。有人能指出我做错了什么吗? web.xml index.html Hello_World_Java包示例; 导入java.io.IOException;导入java.io.PrintWriter;导入javax.servlet.Servl

  • 问题内容: 我在我的应用程序的servlet中使用以下代码 当我运行应用程序并调用servlet时,出现以下错误 我已经在Java版本为JDK 1.6.20的Linux机器上托管了该应用程序。 是什么原因引起的问题… 是编写代码的类,是在上述类中调用方法的servlet … 问题答案: 要在服务器端应用程序中使用AWT类,我相信您需要在“无头”模式下运行。将servlet容器的启动更改为包括: (

  • 我在Spring MVC中开发了一个应用程序,当我直接从eclipse通过run as->run On server运行它时,它工作得很好。 但是现在我想要将war部署到Tomcat文件夹并从那里运行它。我已经对此做了更改,war正在正确地部署到所需的tomcat文件夹中,但当我启动tomcat服务器并在浏览器中访问应用程序url时,它会给我404错误。服务器正在启动,没有任何异常。 下面是项目结

  • 因此,我目前正在尝试测试一个项目,它的方面我已经改变了,即我添加了一个动态web组件到它。为此,我决定创建一个基本的html表单,并将servlet与之关联。 错误消息: 编辑,现在工作的一个servlet也停止工作,抛出相同的错误。如果有帮助,我尝试从eclipse运行它,方法是右键单击html页面,然后选择在服务器上运行它。