Java HTTP状态404-未找到Servlet

Java HTTP状态404-未找到Servlet,java,eclipse,servlets,jakarta-ee,Java,Eclipse,Servlets,Jakarta Ee,我在Eclipse中有一个项目,试图从web浏览器调用servlet。图中显示了我的项目的结构。虽然我在注释中设置了url,但仍然找不到资源 这是我的密码: package java.enablingKeyWordSearch; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebSer

我在Eclipse中有一个项目,试图从web浏览器调用servlet。图中显示了我的项目的结构。虽然我在注释中设置了
url
,但仍然找不到资源

这是我的密码:

package java.enablingKeyWordSearch;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(asyncSupported = false, name = "HelloServlet", urlPatterns = {"/hello"})
public class TestServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        PrintWriter out = resp.getWriter();
        out.write("<h2>Hello Servlet One </h2>");
        out.close();
    }
}
我正在使用ApacheTomcatV8.0,如果这有什么不同的话

更新:在新屏幕截图中显示源代码列表;已删除java命名空间

编辑2.0 web.xml:


遗憾的是,仍然收到404错误。

请尝试更新您的web.xml

@WebServlet("/multiKeywordSearch")

@MultipartConfig


and then try this.
http://localhost:8080/MultiKeyewordSearch/multiKeywordSearch
 <servlet>
    <servlet-name>helloServlet</servlet-name>
    <servlet-class>java.enablingKeyWordSearch.TestServlet</servlet-class>
</servlet>

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

helloServlet
java.enablingKeyWordSearch.TestServlet
helloServlet
/你好

类型名称上显示的警告是什么?另外,更改包名,使它们不使用“java”之类的保留名称空间。它只是说serializable类不声明long类型的静态最终serialVersionUID字段。现在修复名称空间问题已修复名称空间问题,未修复问题请更新源代码列表,如果您使用的是web.xml文件,请包含其内容。@完成后,请参阅上文删除服务器并重新添加。重新启动iTunes使用此命令并杀死服务器sudo kill$(ps-aef | grep java | grep apache | awk'{print$2})的任何实例在选择tomcat配置时是否将项目添加到资源中。Tomcat无法找到该资源(您的项目)是。在我创建iti之前,将其移到了“已配置”的右侧。我认为问题出在您的web.xml文件中。servlet映射必须正确应用这些更改,并且仍然会出现相同的错误。我更新了src的名称空间,删除了java
package enablingKeyWordSearch;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//@WebServlet(asyncSupported = false, name = "HelloServlet", urlPatterns = {"/hello"})
@WebServlet(name = "HelloServlet", urlPatterns = {"/multiKeywordSearch"})
@MultipartConfig
public class TestServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        PrintWriter out = resp.getWriter();
        out.write("<h2>Hello Servlet One </h2>");
        out.close();
    }
}
@WebServlet("/multiKeywordSearch")

@MultipartConfig


and then try this.
http://localhost:8080/MultiKeyewordSearch/multiKeywordSearch
 <servlet>
    <servlet-name>helloServlet</servlet-name>
    <servlet-class>java.enablingKeyWordSearch.TestServlet</servlet-class>
</servlet>

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