[tomcat 404在web.xml中添加servlet后未发现错误

问题描述 投票:0回答:2

我刚刚从昨天开始servlet / jsp教程。

我遵循了本教程,但是与本教程不同,我的代码不起作用。

我的系统是MacOS。我将用所附图片解释我的问题,以便你们可以帮助我解决问题。

下面是我的文件夹结构。我将类文件(firstServelt.class -sorry,我打错了)添加到了类文件夹中,该文件夹只是服务方法中的System.out.println(“ H​​ello”)。

enter image description here

然后,下面是web.xml文件。我在那里添加了servlet和servlet映射。

enter image description here

对我来说很奇怪的是,当我运行服务器而不添加和时,这是默认的初始web.xml,localhost:8080给了我tomcat页面,如下所示。

enter image description here

但是,在为firstServelt.class进行servlet和servlet映射之后,它为我提供了404 NOTFOUND页面,分别显示“ Localhost:8080”和“ Localhost:8080 / hello”。

我应该同时使用“ Localhost:8080”和“ Localhost:8080 / hello”。(我知道Localhost:8080 / hello会通过在控制台中打印“ hello”来给我空白页,但它只会给我未找到的页面)。我真的很努力寻找问题。我想进一步讲解我的教程,但是由于这个问题,我被困在这里。

enter image description here

如果有人帮助我解决问题,将非常感谢!

PS。还有一个问题,我不知道为什么,但是每当我从终端停止tomcat服务器时,它都不会作为后台进程停止。因此,每一次,当我重新运行tomcat服务器时,我都必须先找到$ ps -ax | grep tomcat然后是$ kill -9 pID。我刚从终端退出时,有什么方法可以终止此过程吗?

感谢您阅读我的愚蠢问题。

让我知道您是否需要了解代码的其他部分。 !

tomcat servlets
2个回答
0
投票

您输入以获取404的URL是什么?要确保的一件事是您键入http://localhost:8080/hello,而不仅仅是localhost:8080 / hello。这是因为浏览器现在默认为https。

关于另一个进程问题,建议您在IntelliJ中显式关闭Tomcat的进程,可能使用tomcat Shutdown操作。如果这是Eclipse,它将作为一个可调试的过程启动,您可以在Eclipse中作为服务器对其进行管理,但是我不知道IJ是如何做到的。我想说的是,基本Tomcat启动了一个批处理文件,这是它自己的进程,并且启动了另一个Java进程,即Tomcat进程。


0
投票

大多数404错误是由web.xml或注释设置中的类名或映射名称输入错误引起的。

我认为servlet配置中“ na”的类名和包名存在问题

确保类名正确,并且包名称正确。

如果您向我们展示Servlet代码,那就更好了。无论如何,我希望这种解释能帮助您解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.