Как установить Java EE SDK?
Я освещаю главу об университете, в которой я перехожу к сервлетам. Книга требует, чтобы я скопировал фрагмент кода и запустил его в 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);
}
}
Ошибка:
2 ответа
Проблема в том, что вы используете Apache Tomcat 10, в котором используется последняя версия Jakarta EE (версия 9, преемница Java EE 8). Большое изменение в Jakarta EE 9 состоит в том, что пространство имен своих пакетов сменилось на. Вам либо нужно использовать Apache Tomcat 9 (или более раннюю версию, либо другой контейнер сервлетов Java EE, который все еще использует Java EE 8 или более раннюю версию и пространство имен), либо переключиться на использование нового пространства имен Jakarta EE (в вашем случае пакеты
jakarta.servlet
и
jakarta.servlet.http
).
Как упоминалось на странице загрузки Tomcat 10 :
Пользователи Tomcat 10 и более поздних версий должны знать, что в результате перехода с Java EE на Jakarta EE в рамках передачи Java EE в Eclipse Foundation основной пакет для всех реализованных API изменился с
javax.*
кjakarta.*
. Это почти наверняка потребует изменения кода, чтобы позволить приложениям перейти с Tomcat 9 и более ранних версий на Tomcat 10 и более поздних версий.
Думаю, первое, что вам нужно сделать, это понять, что такое сервлеты и как они работают.
Вы можете начать с документации по технологии сервлетов Java .
По крайней мере, прочтите введение, так как на самом деле лучше сначала понять (1) что такое сервлет, (2) как он работает (по крайней мере, на абстракции более высокого уровня) и (3) что вам нужно, чтобы это сделать работай.
Ваш код даже не будет компилироваться, не говоря уже о воспроизводимости; тем не менее, я бы все же дал вам несколько общих моментов:
Вам понадобится соответствующий
.jar
файлы в пути к классам (добавьте зависимость от maven или выберите другой способ включения внешнихjar
s);Затем вы должны собрать / упаковать свое приложение сервлетов как
.war
file, а затем разверните этот файл в контейнере сервлетов, например Tomcat;Есть способ запустить Tomcat программно , но обычно это не лучший подход, так как вы можете пропустить многие важные конфигурации.