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

问题描述

我一直在关注本教程: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文件夹中。 我的文件顺序如下: webapps / HelloWorldWebApp / WEB-INF / web.xml 班级/ HelloWorldServlet.class

我不确定自己做错了什么。

解决方法

我发现了问题。

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...