Java 使用 Jetty 的服务器:非常简单的示例不起作用,显示 HTTP ERROR 503 Service Unavailable

Java Server using Jetty: Very simple example does not work, displays HTTP ERROR 503 Service Unavailable

我一直在关注这个教程:https://happycoding.io/tutorials/java-server/servlets

显示静态 html 网页没问题,但我无法使用动态版本。 我的web.xml如下:

<web-app>
    <servlet>
        <servlet-name>MyHelloWorldServlet</servlet-name>
        <servlet-class>HelloWorldServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyHelloWorldServlet</servlet-name>
        <url-pattern>/index.html</url-pattern>
    </servlet-mapping>
</web-app>

我的java代码如下:

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

public class HelloWorldServlet extends HttpServlet {

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        PrintWriter out = response.getWriter();
        out.println("<h1>Hello world!</h1>");
        out.println("<p>This is our first servlet.</p>");
    }
}

我已经在 BlueJ 中编译了 java 代码,并将 .class 文件添加到 WEB-INF 中的 classes 文件夹中。 我的文件顺序如下: 网络应用/ HelloWorldWebApp/ 网络信息/ web.xml classes/ HelloWorldServlet.class

我不确定我做错了什么。

我找到问题了

浏览器只显示 503 错误,但我启动服务器的终端实际上​​显示了更多错误信息。错误是我使用的 jdk 当前版本与 jetty 不兼容。我不知道如何在 bluej 中更改 java 版本,所以我只是下载 se 8 并通过命令行编译。这解决了问题。