Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP状态404-在使用Tomcat的Eclipse上_Eclipse_Servlets_Tomcat7 - Fatal编程技术网

HTTP状态404-在使用Tomcat的Eclipse上

HTTP状态404-在使用Tomcat的Eclipse上,eclipse,servlets,tomcat7,Eclipse,Servlets,Tomcat7,我正试图用Eclipse在本地Tomcat上运行一个servlet 但我不断地遇到这个错误,不知道该怎么做。 我实际上是在这里录的: 非常感谢 我还将web.xml更改为: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:web="http://java.sun.com/xml/ns/java

我正试图用Eclipse在本地Tomcat上运行一个servlet

但我不断地遇到这个错误,不知道该怎么做。

我实际上是在这里录的:

非常感谢

我还将web.xml更改为:

      <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID"
    version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" >

    <display-name>
TEST3
    </display-name>

    <welcome-file-list>

        <welcome-file>
TEST3
        </welcome-file>
    </welcome-file-list>

    <servlet>

        <servlet-name>
helloServlet
        </servlet-name>

        <servlet-class>
HelloServlet
        </servlet-class>
    </servlet>

    <servlet-mapping>

        <servlet-name>
helloServlet
        </servlet-name>

        <url-pattern>
/hello
        </url-pattern>
    </servlet-mapping>

</web-app>

测试3
测试3
helloServlet
HelloServlet
helloServlet
/你好
我看到了你的链接

当您运行任何动态web项目时。默认情况下,
Servlet
container(在本例中是Tomcat)搜索wel-come列表中指定的文件。检查您的
web.xml
,它应该包含如下条目

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
您尚未从上述任何列表创建文件。那么,跑步

http://localhost:8080/TEST2
将显示404错误

而是运行:
http://localhost:8080/TEST2/HelloSerlvet
将调用您创建的servlet

编辑:检查eclipse的项目菜单,并验证是否选中了“自动构建”以及Servlet容器是否正在运行(
http://localhost:8080

编辑2:右键单击项目-->属性,选择Java生成路径-->源选项卡-->更改默认输出文件夹。创建
/WEB-INF/classes

/WebContent
(eclipse中的默认设置)

下,这是基于Hardik Mishra的回答,并有一些要点: 1.从文件资源管理器(不是从Eclipse),在/WebContent下手动创建“/WEB-INF/classes” 2.右键单击项目-->属性,选择Java生成路径-->源选项卡-->将默认输出文件夹更改为刚才创建的文件夹。 3.转到文件资源管理器,而不是从Eclipse,因为Eclipse“项目资源管理器”可能有一些过滤器不显示classes文件夹。您应该可以看到在此目录下编译的.class文件


再试试看。如果它不起作用,请重新启动Eclipse一次,然后它就会起作用。

我已经看到这些类型的问题很长一段时间了,并且已经看到了多种解决方案,其中一些解决方案有效,而其他解决方案仍然面临相同的问题

其中一个简单的解决方案是遍历到.java/.jsp/等,右键单击并选择从服务器运行选项

我发现这个解决方案是一种简单而有效的运行方式

路径Java Resource->src->->->example.Java-->右键单击-->运行方式-->在服务器上运行

即使在这之后,您也可能会遇到一些问题,例如端口8005不可用,请按照下面的链接清除当前的Apache设置并重新设置


希望这个发现有帮助。

通常,当您修改web.xml文件时,应该“清理”Tomcat。只需在Eclipse中右键单击Tomcat并清除。对项目也要这样做。您还可以停止Tomcat,从Tomcat中删除应用程序(右键单击Tomcat下的应用程序并删除),然后将其重新添加。重新启动Tomcat。

Servlet是否有包,如果是,则在web.xml中写入完全限定的类名。它位于“默认包”中。但是,即使我在包“test.servlet”中创建它,并将“test.servlet.HelloServlet”作为类名称放在web.xml中,它也会产生相同的错误。请参阅我附加的web.xml-当我键入“”时,它会产生相同的错误。我认为该类根本没有部署到正确的位置,但我不知道该怎么办?抱歉,我尝试了所有方法,但仍然没有成功。在“构建路径上的源文件夹”下,我必须将什么作为构建路径放在顶部,在“默认输出文件夹”下,我应该将什么放在顶部。我应该检查“允许输出文件夹作为源文件夹”吗?请仔细阅读。我已经提到创建新文件夹。在Edit 2yes中,我还创建了classes文件夹->我在顶部添加了屏幕,每当我在/Library/Tomcat/test2/web-inf/classes下检查终端中的classes文件夹时,它都是空的。HelloServlet类不应该部署在那里吗?还是我误解了?