【问题标题】:Jakarta Servlet page not found未找到 Jakarta Servlet 页面
【发布时间】:2021-06-27 06:07:07
【问题描述】:

我正在尝试使用 Jakarta 包替代 Javax 包(使用 Jakarta)创建 servlet 页面,但是当我创建示例 Servlet 时,代码如下:

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
@webservlet("/Message")
public class HelloWorld extends HttpServlet {
 
   private String message;

   public void init() throws ServletException {
      // Do required initialization
      message = "Hello World";
   }

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
   }

   public void destroy() {
      // do nothing.
   }
}

它工作正常,一切正常,但是当我想使用 Jakarta 包并更改代码时,如下所示:

// Import required java libraries
import java.io.*;
import jakarta.servlet.*;
import jakarta.servlet.http.*;

// Extend HttpServlet class
@webservlet("/Message")
public class HelloWorld extends HttpServlet {

   private String message;

   public void init() throws ServletException {
      // Do required initialization
      message = "Hello World";
   }

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
   }

   public void destroy() {
      // do nothing.
   }
}

服务器消息404,找不到页面,我使用的系统:

  • Windows 10
  • glassFish 6.0.1 并使用 (wildFly 23) 进行测试
  • JDK 11

谁能解释发生了什么?

【问题讨论】:

    标签: java servlets jakarta-ee


    【解决方案1】:

    Glassfish 6.0.1 不支持 JDK 11,可能 6.1 会支持它。 对于 Wildfly,请确保您下载了 Jakarta 版本,因为它们提供了两个版本:一个用于 javax 命名空间,另一个用于 Jakarta 命名空间。

    已经有几个服务器支持 Jakarta 命名空间:

    【讨论】:

    • 我用 wildfly 23 测试过,结果和 glassfish 6 一样,感谢回复
    猜你喜欢
    • 2021-09-04
    • 1970-01-01
    • 2013-12-27
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 2015-07-28
    相关资源
    最近更新 更多