Gymterview
junior

Для чего используются атрибуты сервлетов и как происходит работа с ними

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

Области видимости атрибутов

Область Интерфейс Время жизни
Request ServletRequest Один HTTP-запрос
Session HttpSession Сессия пользователя
Application ServletContext Всё время работы приложения

Методы работы с атрибутами

  • setAttribute(String name, Object value) — установить атрибут
  • getAttribute(String name) — получить атрибут
  • removeAttribute(String name) — удалить атрибут
  • getAttributeNames() — получить имена всех атрибутов

Типичный сценарий: контроллер-сервлет помещает данные модели в атрибуты запроса (request.setAttribute("users", userList)), а JSP-страница извлекает их для отображения. В Spring MVC вместо ручной работы с атрибутами используется Model.addAttribute().

На собеседовании: акцент на понимании областей видимости. Request-scope — для передачи данных в рамках одного запроса. Session-scope — для данных пользователя (корзина, профиль). Application-scope — для глобальных данных (конфиги, счётчики).