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 并通过命令行编译。这解决了问题。
我一直在关注这个教程: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 并通过命令行编译。这解决了问题。