在IntelliJ中使用Servlet创建Maven项目

piah890a  于 2022-09-20  发布在  Maven
关注(0)|答案(1)|浏览(183)

我一直在尝试按照以下教程在IntelliJ中创建一个Servlet:https://medium.com/@backslash112/create-maven-project-with-servlet-in-intellij-idea-2018-be0d673bd9af

以下是我到目前为止添加到Servlet类中的代码:

package com.demo;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/DemoServlet")
public class DemoServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<h3>Hello World!</h3>");
    }

}

我还将运行配置设置为使用Tomcat 9:

当我运行这个项目时,我可以看到“Hello World!”在http://localhost:8080和http://localhost:8080/DemoServlet.上

不过,我想你应该只能看到《Hello World!在http://localhost:8080/DemoServlet而不是在http://localhost:8080.我想知道这是程序的预期行为,还是我在Servlet的配置中犯了错误?

u5i3ibmn

u5i3ibmn1#

这一结果是意料之中的。WebApp上下文根目录显示相同的文本,因为maven-archetype-webapp提供了包含以下内容的src/main/webapp/index.jsp文件:

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

因为Servlet和索引页打印相同的文本,所以您会感到困惑,以为这个文本也是由Servlet打印的,而实际上它是索引页。

请注意,文本大小不同。索引页使用<h2>,Servlet代码使用<h3>

相关问题