Gymterview
junior

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

Контейнер сервлетов (Servlet Container) — это серверное приложение, которое управляет жизненным циклом сервлетов, обеспечивает обмен данными между клиентом и сервлетом, а также предоставляет среду выполнения: управление потоками, безопасностью и сессиями.

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

Функции контейнера

  • Создание, инициализация и уничтожение сервлетов
  • Маршрутизация запросов к нужному сервлету по URL-паттерну
  • Управление многопоточностью — создание потока для каждого запроса
  • Управление сессиями и cookies
  • Обеспечение безопасности (аутентификация, авторизация)
  • Поддержка JNDI для доступа к ресурсам

Популярные контейнеры сервлетов

Контейнер Особенности
Apache Tomcat Самый популярный, встроен в Spring Boot по умолчанию
Jetty Легковесный, хорошо подходит для embedded-использования
Undertow Высокопроизводительный, альтернатива для Spring Boot
GlassFish Референсная реализация Jakarta EE
WildFly Полный сервер приложений от Red Hat

На собеседовании: интервьюер может спросить, чем контейнер сервлетов отличается от сервера приложений. Контейнер реализует только Servlet API, а сервер приложений — полный стек Jakarta EE (JMS, JTA, EJB и т.д.).