java - 如何使用IDEA在tomcat中部署web应用

标签 java intellij-idea servlets

我是一个新的javaer。我正在尝试开发一个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() {
    }
}

当我在 Chrome 中打开 http://localhost:8080/serv01_war_exploded/ 时,它运行良好并显示 index.jsp 中的内容。但是当我尝试打开 http://localhost:8080/serv01_war_exploded/hello-servlet 时,它返回 404 错误。

以上均发生在windows10系统中。

那么是什么原因导致了这个问题,是想法还是tomcat还是其他什么东西呢?

最佳答案

当我遇到此错误时,我通常会发现这是以下两件事之一:我要么没有将“webapp\WEB-INF\web.xml”中的 servlet 映射到该 URL,要么没有在.war 文件丢失(如 web.xml 文件)...这迫使我查看如何在 IDEA 中构建工件。

关于java - 如何使用IDEA在tomcat中部署web应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65969498/

相关文章:

java - 访问aspectj中的私有(private)字段

java - 将 Java 应用程序的 CPU 使用率限制为特定数量

java - smartgwt GC 开销超出限制

java - 将值从 Servlet 发送到 JSP,无需 cookie,并且 session 不会显示在 URL 上

java - 将 OutputStream 与 InputStream 连接起来

java - 使用 fabric : Must Initialize Fabric before using singleton() 显示 twitter 的时间线

java - 注册 Oracle JDBC Diagnosability MBean 时出错

Java从Web目录读取属性文件

java - 为什么这么红? IntelliJ 似乎认为无法找到/解决每个声明/方法

java - HttpServlet 抛出的 ServletExceptions 被 Tomcat 记录为 'SEVERE',尽管以推荐的方式处理