Создание первого Java-сервлета

Ниже приведен пример сервлета.

Класс сервлета наследуется от класса HttpServlet и в нем реализуются методы doGet, doPost.

В этих методах происходит прием информации от клиента через HttpServletRequest req и отправка информации клиенту через HttpServletResponse resp.

Пример программы:

import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyServlet extends HttpServlet { //Этот метод для приема Get запросов. //Что такое Get, Post запросы разберемся позже. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //Получаем поток PrintWriter с которым мы уже знакомы //из resp через который будем отправлять данные клиенту. PrintWriter pw = resp.getWriter(); pw.write(“Hello World!!!”); } }

Чтобы запустить сервлет его нужно сначала скомпилировать используя библиотеку в папке lib servlet-api.jar.

Перейдем в консоли в папку apache-tomcat-9.0.80\webapps\helloservlet\WEB-INF\classes и здесь скомпилируем MyServlet.java с использованием servlet-api.jar:

В папке как обычно появиться файлик с байткодом .class.


Конфигурация Сервлета с помощью web.xml

В файле Web.xml настраивается то, как будет развернут наш сервлет MyServlet.java.

Например, по какому адресу клиенты будут отправлять запросы для обработки нашим сервлетом и многие другие настройки.

Web.xml:

MyServlet /myservlet MyServlet MyServlet 5

Теперь можно проверять работу нашего сервлета.


Проверка работы сервлета

Запускаем файл startup.bat в папке bin для запуска контейнера сервлетов, то есть сервера.

Ждем пока полностью запуститься наш Tomcat.

Теперь через браузер сделаем запрос к нашему сервлету по аддресу, который мы прописывали в web.xml.

Всё работает. Как видим, мы как клиент через браузер отправили запрос серверу по адресу http://localhost:8080/helloservlet/myservlet и он отправил в ответ Hello World!!!.

Методы сервлета

Изучите ключевые методы сервлетов: init, doGet, doPost, service и destroy. Узнайте их назначение и применение в Java EE для обработки HTTP-запросов.
Time to read: 13

Использование аннотации @WebServlet

Замена web.xml на аннотацию @WebServlet в Java. Упростите конфигурацию сервлетов, указывая пути прямо в коде. Примеры использования и настройка metadata-complete.
Time to read: 11

Параметры в Get запросе

Как передавать параметры в GET-запросах Java-сервлетов. Разберитесь с методами getParameter(), безопасностью и различиями между GET и POST. Практические примеры с формами.
Time to read: 16