java服务器:非常简单的示例不起作用,显示http错误503服务不可用

qvsjd97n  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(250)

我一直在学习本教程: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 classes/helloworldservlet.class
我不确定我做错了什么。

of1yzvn4

of1yzvn41#

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

相关问题