Gymterview
junior

Какие наиболее распространенные задачи выполняются в контейнере сервлетов

Контейнер сервлетов берёт на себя всю инфраструктурную работу, позволяя разработчику сосредоточиться на бизнес-логике. Основные задачи контейнера:

  • Обмен данными — контейнер принимает HTTP-запросы от клиентов, парсит заголовки и тело, оборачивает их в объекты ServletRequest/ServletResponse и передаёт сервлету. Разработчику не нужно работать с сокетами напрямую.
  • Управление жизненным циклом — загрузка, инициализация, обработка запросов и уничтожение сервлетов. Контейнер также управляет пулом ресурсов через JNDI.
  • Многопоточность — контейнер создаёт новый поток для каждого запроса (или использует пул потоков), не требуя от разработчика ручного управления потоками.
  • Поддержка JSP — контейнер транслирует JSP в сервлеты, компилирует и управляет ими.
  • Управление ресурсами — пулы соединений, управление памятью, взаимодействие с GC, настройки безопасности.

На собеседовании: важно подчеркнуть, что контейнер реализует inversion of control — он управляет сервлетами, а не наоборот. Это та же концепция, что и в Spring IoC, только на уровне Servlet API.