Servlet 和 IntelliJ

Servlets & IntelliJ

我在 Intellij 下创建了一个测试项目以使用 Tomcat 启动 Java EE。

我的服务器启动良好,不用担心。

我创建了一个 Servlet,其中包含我的 HTML 代码,以及 doPost 和 getPost。

当我想要 运行 servlet 时,服务器启动正常,但我最终得到一个空白页面。

一个想法?

代码:

    package com.octest.servlets;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "Test")
public class Test extends HttpServlet {
    protected void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType ("text/html");
        response.setCharacterEncoding ("UTF-8");

        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<meta charset=\"utf-8\" />");
        out.println("<title>Test</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<p>Bonjour !</p>");
        out.println("</body>");
        out.println("</html>");
    }

    protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

让 web.xml :


    <?xml version="1.0" encoding="UTF-8"?>
    <web-app 
            xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
        <servlet>
            <servlet-name>Test</servlet-name>
            <servlet-class>com.octest.servlets.Test</servlet-class>
        </servlet>
        
        <servlet-mapping>
            <servlet-name>Test</servlet-name>
            <url-pattern>/app</url-pattern>
        </servlet-mapping>
    </web-app>

谢谢

浏览器将发出 GET 请求,但您的 HTML 页面在 doPost 方法中。您需要将此页面保留在 doGet 方法中。