junior
В чем отличия ServletContext и ServletConfig
Это два разных объекта с разным scope и назначением.
| Критерий | ServletConfig | ServletContext |
|---|---|---|
| Область видимости | Один сервлет | Всё приложение |
| Количество экземпляров | По одному на каждый сервлет | Один на приложение |
| Назначение | Параметры инициализации конкретного сервлета | Общие параметры и ресурсы приложения |
| Атрибуты | Только чтение параметров | Чтение и запись атрибутов |
| Настройка | <init-param> внутри <servlet> |
<context-param> внутри <web-app> |
ServletConfig передаётся конкретному сервлету в методе init() и содержит только его параметры. ServletContext доступен всем компонентам приложения и позволяет обмениваться данными между сервлетами.
На собеседовании: простой мнемоник: Config — для одного, Context — для всех. Частая ошибка — сказать, что
ServletConfigможно изменять. Нет, параметрыinit-paramдоступны только для чтения.