В этой главе мы обсудим жизненный цикл JSP. Ключом к пониманию низкоуровневой функциональности JSP является понимание простого жизненного цикла, которому они следуют.
Жизненный цикл JSP определяется как процесс от его создания до разрушения. Это похоже на жизненный цикл сервлета с дополнительным этапом, который требуется для компиляции JSP в сервлет.
Пути, которым следует JSP
Ниже приведены пути, по которым следует JSP.
- компиляция
- инициализация
- выполнение
- уборка
Четыре основных этапа жизненного цикла JSP очень похожи на жизненный цикл сервлета. Четыре этапа были описаны ниже —
Компиляция JSP
Когда браузер запрашивает JSP, механизм JSP сначала проверяет, нужно ли ему компилировать страницу. Если страница никогда не компилировалась или если JSP был изменен с момента последней компиляции, механизм JSP компилирует страницу.
Процесс компиляции включает в себя три этапа —
- Разбор JSP.
- Превращение JSP в сервлет.
- Компиляция сервлета.
Инициализация JSP
Когда контейнер загружает JSP, он вызывает метод jspInit () перед обслуживанием любых запросов. Если вам нужно выполнить JSP-специфическую инициализацию, переопределите метод jspInit () —
public void jspInit(){ // Initialization code... }
Как правило, инициализация выполняется только один раз, и, как и в случае с методом init сервлета, вы обычно инициализируете соединения с базой данных, открываете файлы и создаете таблицы поиска в методе jspInit.
Исполнение JSP
Эта фаза жизненного цикла JSP представляет все взаимодействия с запросами, пока JSP не будет уничтожен.
Всякий раз, когда браузер запрашивает JSP, а страница загружается и инициализируется, механизм JSP вызывает метод _jspService () в JSP.
Метод _jspService () принимает HttpServletRequest и HttpServletResponse в качестве своих параметров следующим образом:
void _jspService(HttpServletRequest request, HttpServletResponse response) { // Service handling code... }
Метод _jspService () JSP вызывается по запросу. Он отвечает за генерацию ответа на этот запрос, а этот метод также отвечает за генерацию ответов на все семь методов HTTP, т. Е. GET, POST, DELETE и т. Д.
Очистка JSP
Фаза уничтожения жизненного цикла JSP представляет собой момент, когда JSP удаляется из использования контейнером.
Метод jspDestroy () является JSP-эквивалентом метода destroy для сервлетов. Переопределите jspDestroy, когда вам нужно выполнить какую-либо очистку, такую как освобождение соединений с базой данных или закрытие открытых файлов.
Метод jspDestroy () имеет следующую форму —