junior
Расскажите о методах жизненного цикла JSP
Контейнер создаёт из JSP-страницы класс сервлета, наследующий javax.servlet.jsp.HttpJspBase, с тремя ключевыми методами жизненного цикла.
| Метод | Назначение | Можно переопределить |
|---|---|---|
jspInit() |
Инициализация: чтение конфигурации, подготовка ресурсов. Вызывается один раз | Да |
_jspService() |
Обработка запроса: генерация HTML. Генерируется автоматически из содержимого JSP | Нет |
jspDestroy() |
Очистка: освобождение ресурсов. Вызывается один раз перед уничтожением | Да |
Метод _jspService() начинается с нижнего подчёркивания — это конвенция, означающая, что метод генерируется контейнером и не должен переопределяться разработчиком. Содержимое этого метода полностью определяется HTML-разметкой и JSP-элементами на странице.
Переопределение jspInit() и jspDestroy() выполняется через JSP-декларации:
Пример
<%!
public void jspInit() {
// инициализация ресурсов
}
public void jspDestroy() {
// освобождение ресурсов
}
%>
На собеседовании: запомните, что
_jspService()нельзя переопределить (начинается с_), аjspInit()иjspDestroy()— можно. Это аналогinit()/destroy()в обычных сервлетах.