Gymterview
junior

Что такое сервлет

Сервлет — это Java-класс, реализующий интерфейс javax.servlet.Servlet, который расширяет возможности сервера для обработки клиентских запросов по модели «запрос-ответ». Чаще всего сервлеты используются для обработки HTTP-запросов в веб-приложениях. Классы и интерфейсы для работы с сервлетами находятся в пакетах javax.servlet и javax.servlet.http (а начиная с Jakarta EE 9 — в jakarta.servlet).

Аналогия из жизни: сервлет — это официант в ресторане. Клиент делает заказ (запрос), официант передаёт его на кухню (бизнес-логика), получает готовое блюдо и приносит клиенту (ответ). Один официант обслуживает много столиков параллельно — так и один экземпляр сервлета обрабатывает множество запросов в разных потоках.

Основные методы интерфейса Servlet

Метод Назначение
init(ServletConfig config) Вызывается один раз при загрузке сервлета в память для инициализации
service(ServletRequest, ServletResponse) Вызывается для обработки каждого запроса клиента
destroy() Выполняется один раз перед выгрузкой сервлета из памяти
getServletConfig() Возвращает объект конфигурации сервлета
getServletInfo() Возвращает информацию о сервлете (автор, версия)

В Spring Boot сервлет DispatcherServlet автоматически регистрируется контейнером и является единственной точкой входа для всех HTTP-запросов. Разработчик не пишет сервлеты вручную, но понимание их жизненного цикла помогает при отладке Spring MVC.

На собеседовании: интервьюер ожидает, что вы свяжете Servlet API со Spring MVC. Частая ошибка — описывать сервлеты как самостоятельную технологию, не упоминая, что DispatcherServlet — это сердце Spring MVC.