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