Java 如何使用IDEA在tomcat中部署webapp

Java 如何使用IDEA在tomcat中部署webapp,java,intellij-idea,servlets,Java,Intellij Idea,Servlets,我是个新手。我正在尝试开发一个Web应用程序并在tomcat中部署。我只是使用idea创建的模板,但效果不好 我正在使用tomcat9.0.41 HelloServlet.java import java.io.*; import jakarta.servlet.http.*; import jakarta.servlet.annotation.*; @WebServlet(name = "helloServlet", value = "/hello-serv

我是个新手。我正在尝试开发一个Web应用程序并在tomcat中部署。我只是使用idea创建的模板,但效果不好

我正在使用tomcat9.0.41

HelloServlet.java


import java.io.*;

import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;

@WebServlet(name = "helloServlet", value = "/hello-servlet")
public class HelloServlet extends HttpServlet {
    private String message;

    public void init() {
        message = "Hello World!";
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");

        // Hello
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        out.println("<h1>" + message + "</h1>");
        out.println("</body></html>");
    }

    public void destroy() {
    }
}

导入java.io.*;
导入jakarta.servlet.http.*;
导入jakarta.servlet.annotation.*;
@WebServlet(name=“helloServlet”,value=“/hello servlet”)
公共类HelloServlet扩展了HttpServlet{
私有字符串消息;
公共void init(){
message=“你好,世界!”;
}
public void doGet(HttpServletRequest请求、HttpServletResponse响应)引发IOException{
response.setContentType(“text/html”);
//你好
PrintWriter out=response.getWriter();
out.println(“”);
out.println(“+message+”);
out.println(“”);
}
公共空间销毁(){
}
}
当我打开
http://localhost:8080/serv01_war_exploded/
在chrome中,它运行良好,并在
index.jsp
中显示内容。但是当我试图打开
http://localhost:8080/serv01_war_exploded/hello-servlet
,它返回404错误

所有这些都发生在windows10系统中


那么,是什么导致了这个问题,idea、tomcat或其他一些东西?

我通常会发现,当我遇到这个错误时,这是两件事之一:我要么没有将“webapp\WEB-INF\WEB.xml”中的servlet映射到该URL,要么.war文件中缺少我需要的东西(如WEB.xml文件)…这迫使我看我是如何在想法中构建工件的