Введение в жизненный цикл JSP
В этой статье мы обсудим жизненный цикл JSP. Страницы сервера Java, технология на стороне сервера, которая берет на себя ответственность за обработку на сервере.
1. Где нам нужен JSP?
- Что ж, если вы занимаетесь веб-разработкой, и мы видим создание динамических веб-сайтов, то JSP играют важную роль, так как рендеринг выполняется динамически.
- JSP работают только с базовым HTML, тело страницы состоит только из базовых HTML-разметок, но есть определенные заполнители, параметры, значения списка, итераторы, которые возможны только с JSP, HTML дает вам статическое отображение только при выполнении любых разрешений во время выполнения требуется динамическая обработка, поэтому решения JSP появляются там как решение.
- JSP позволяет разделить генерацию контента и представление контента
Давайте рассмотрим базовый пример, который даст вам представление об этом динамическом рендеринге.
Содержимое или логика внутри отображаются динамически и передаются только бэкэндом.
Теперь давайте продолжим и разберемся с жизненным циклом JSP и с тем, как они на самом деле визуализируются во внешнем интерфейсе, чтобы обеспечить читателю или готовый опыт.
2. Жизненный цикл JSP:
Есть определенные фазы, в которых этот цикл разделен, определяется следующим образом:
- Фаза трансляции - когда файл JSP преобразуется в файл сервлета.
- Фаза компиляции - где файл сервлета конвертируется в класс сервлета.
- Класс загрузки
- Создание объекта сервлета
- Контейнер сервлета вызывает метод jspInit () для инициализации
- Контейнер сервлетов вызывает _jspService () для обработки запроса
- Очистите JSP, здесь контейнер сервлета вызовет метод jspDestroy ().
Теперь давайте разработаем вышеупомянутые шаги, чтобы иметь более ясную картину -
Шаг 1
На этапе трансляции контейнер сервлета преобразует JSP в сервлет, чтобы кодирование на основе тегов получило эквивалентную форму в java, чтобы виртуальная машина Java (JVM) могла это понимать (поскольку не понимает язык тегов), Этот перевод выполняется сервером либо во время развертывания веб-приложения, либо когда JSP получает свой первый запрос на выполнение.
Шаг 2
Теперь пришло время для компиляции исходного кода, т.е. преобразования кода сервлета в байтовый код Java (байтовый код Java является набором инструкций для виртуальной машины Java).
Шаг 3
Класс сервлета, который был загружен из источника JSP, теперь будет загружен в контейнер.
Шаг 4
После загрузки файла класса веб-контейнером контейнер JSP теперь использует конструктор без аргументов для создания экземпляра класса сервлета. Теперь, когда контейнер инициализирует объекты с помощью вызова метода jsplnit ().
Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)
Шаг 5
Теперь пришло время для обработки запросов, здесь инициализированные эквивалентные объекты сервлета JSP используются для обработки клиентских запросов. Метод _jspService () вызывается веб-контейнером. Этот вызов выполняется одним объектом сервлета, передающим объект HTTPServletRequest и объект HTTPServletResponse для соответствующих запросов и ответов. Обратите внимание, что не предусмотрено переопределения метода _jspService ().
Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)
Шаг 6
Последний шаг называется очисткой JSP, JSP должен быть исключен из использования контейнером, а метод jspDestroy () используется для того же самого, этот метод должен вызываться только один раз. Существует условие для переопределения этого метода, и это может быть сделано для случаев, когда мы хотим выполнить наше настраиваемое действие, такое как освобождение соединения для базы данных и т. Д.
public void jspDestory()
(
// snippet is placed here
)
Пример :
Давайте создадим форму входа в систему для нашего примера приложения, и мы будем использовать JSP для отображения определенного содержимого здесь.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
My Login Form
<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>
UserName
Password
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" | <%@ page language="java" contentType="text/html; charset=ISO-8859-1" |
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
My Login Form
<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>
UserName
Password
В приведенном выше примере код, размещенный внутри, визуализируется динамически, как мы уже упоминали ранее, теперь, после отправки этого запроса, он будет получен контроллером действия, который в основном является классом Java, который содержит параметры, соответствующие именам, упомянутым в Файл JSP.
Контейнер сервлета создает модальный объект, и на контент можно ссылаться в других JSP, ссылаясь на этот конкретный контроллер.
Этот вид подхода, основанного на MVC, в настоящее время находит применение в таких технологиях, как -
- Spring MVC
- Struts 2
- сервлеты
Spring MVC и Struts 2 представили свой конкретный URI для настраиваемого использования JSP, а также представили различные варианты тегов для этого, такие как автозаполнение, итератор, список и т. Д.
Так что JSP находит идеальное место во многих фреймворках благодаря своей гибкости.
Вывод
- Таким образом, мы узнали, что динамические веб-сайты визуализируются через JSP, в то время как статические страницы можно напрямую переводить в HTML, поскольку с этого момента они не требуют каких-либо манипуляций с данными / контентом.
- Современные технологии совместимы с JSP и используются стоек и пружиноподобных фреймворков, которые находят место в крупных приложениях, связанных с банковским делом, SCM, розничными магазинами и т. Д.
- Совместим с AJAX для динамического рендеринга.
- Приложение не может быть типа одной страницы, так как каждый раз требуется загрузка страницы из серверной части.
- Плитки можно использовать для базовых форматов разметки в стойках и пружинах, и нам нужно снова и снова визуализировать только тело
- В конечном итоге коды конвертируются в HTML-эквивалент в интерфейсе пользователя.
- JSP дифференцируют концепцию представления контента и генерации контента.
- Перехватчики предоставляются различными структурами, которые облегчают жизнь разработчикам, например утилиты в структурах для процессов загрузки файлов и т. Д.
Рекомендуемые статьи
Это было руководство к жизненному циклу JSP. Здесь мы обсудили введение, этапы и пример жизненного цикла JSP. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- JSP против ASP
- AJAX Интервью Вопросы
- Что такое MVC?
- JSP против сервлетов
- Итераторы в C #