11

我正在尝试使用 Eclipse 在我的本地 Tomcat 上运行一个 servlet。

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

我实际上在这里记录了它:http ://www.screenr.com/ZyD8

非常感谢!

我也将 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>
4

5 回答 5

21

我看过你的链接。

当您运行任何动态 Web 项目时。默认情况下Servlet,容器(在本例中为 Tomcat)搜索欢迎列表中指定的文件。检查你的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>

您尚未从上述任何列表中创建文件。所以,跑步

http://localhost:8080/TEST2会给你404错误。

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

编辑:检查 Eclipse 的项目菜单并验证“自动构建”是否已选中并且 Servlet 容器正在运行(http://localhost:8080)。

编辑 2:右键单击项目 --> 属性,选择 Java 构建路径 --> 源选项卡 --> 更改默认输出文件夹。/WEB-INF/classes 在下创建/WebContent(eclipse中默认)

于 2012-07-02T08:33:12.157 回答
7

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

尝试再次测试它。如果它不起作用,请重新启动 Eclipse 一次,然后它应该可以工作了。

于 2013-08-09T21:42:36.737 回答
4

我已经看到这些类型的问题已经有一段时间了,并且已经看到了多种解决方案,这些解决方案对某些人有效,而其余的人仍然面临同样的问题。

一种简单的解决方案是遍历 .java/.jsp/etc.,右键单击并选择从服务器运行选项。

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

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

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

TOMCAT - HTTP 状态 404

部署错误:Tomcat启动失败,服务器8080端口已被占用

希望这个发现是有帮助的。

于 2014-05-22T09:41:47.273 回答
0

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

于 2016-01-30T03:22:05.153 回答
0

我将把这个问题分为两种情况:

场景 1:您尝试运行/执行 html/jsp 文件但收到此错误。

场景 2:您已成功执行 jsp/html 文件,但它没有执行下一个 servlet 文件。示例:webcontent/webapp 中有 jsp 提交表单,它正在执行,但在填写并提交表单后,您会收到此错误。

场景一:

  1. 确保您的 jsp/html 文件位于您在创建项目时创建的 webcontent/webapp 文件夹中。

  2. 检查web.xml文件的内容应该是这样的:

    在此处输入图像描述

  3. 尝试更改 tomcat 服务器版本。

场景二:

  1. 在这个级别,您的主要罪魁祸首是 web.xml 文件,您必须在其中彻底检查 Servlet 映射或在文件级别添加 webservlet 注释。
于 2021-11-08T11:19:49.310 回答