如何安装 Java EE SDK?
How do I install Java EE SDK?
我正在为大学介绍 servlet 的一章。这本书要求我复制一段代码并运行它在cmd中。它不会在 cmd 中 运行 并且本章含糊地解释了我如何安装 Java EE。这是代码和错误:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class NameServlet extends HttpServlet {
public static void main(String[] args) {
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body style=’background-color: lightyellow’>");
String name = "Wow, this servlet works great!!";
out.println("Name: " + name);
out.println("</body>");
out.println("</html>");
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
错误:
问题是您使用的是 Apache Tomcat 10,它使用最新版本的 Jakarta EE(版本 9,Java EE 8 的后续版本)。 Jakarta EE 9 的重大变化是它将其包的命名空间从 javax.*
切换为 jakarta.*
.
您要么需要:
- 使用 Apache Tomcat 9(或更早版本,或另一个仍然使用 Java EE 8 或更早版本和
javax.*
命名空间的 Java EE servlet 容器),或
- 切换到使用新的 Jakarta EE 命名空间(在您的情况下,包
jakarta.servlet
和 jakarta.servlet.http
).
Users of Tomcat 10 onwards should be aware that, as a result of the
move from Java EE to Jakarta EE as part of the transfer of Java EE to
the Eclipse Foundation, the primary package for all implemented APIs
has changed from javax.*
to jakarta.*
. This will almost certainly
require code changes to enable applications to migrate from Tomcat 9
and earlier to Tomcat 10 and later.
我正在为大学介绍 servlet 的一章。这本书要求我复制一段代码并运行它在cmd中。它不会在 cmd 中 运行 并且本章含糊地解释了我如何安装 Java EE。这是代码和错误:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class NameServlet extends HttpServlet {
public static void main(String[] args) {
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body style=’background-color: lightyellow’>");
String name = "Wow, this servlet works great!!";
out.println("Name: " + name);
out.println("</body>");
out.println("</html>");
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
错误:
问题是您使用的是 Apache Tomcat 10,它使用最新版本的 Jakarta EE(版本 9,Java EE 8 的后续版本)。 Jakarta EE 9 的重大变化是它将其包的命名空间从 javax.*
切换为 jakarta.*
.
您要么需要:
- 使用 Apache Tomcat 9(或更早版本,或另一个仍然使用 Java EE 8 或更早版本和
javax.*
命名空间的 Java EE servlet 容器),或 - 切换到使用新的 Jakarta EE 命名空间(在您的情况下,包
jakarta.servlet
和jakarta.servlet.http
).
Users of Tomcat 10 onwards should be aware that, as a result of the move from Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse Foundation, the primary package for all implemented APIs has changed from
javax.*
tojakarta.*
. This will almost certainly require code changes to enable applications to migrate from Tomcat 9 and earlier to Tomcat 10 and later.