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 — для глобальных данных (конфиги, счётчики).