Жизненный цикл сервлета
Это руководство дает вам представление о Java-сервлетах и их жизненном цикле. Прежде чем начать работу с жизненным циклом сервлета, давайте сначала разберемся, что такое сервлет и его процесс.
Что такое сервлет?
Java Servlet - это класс на языке программирования Java, который определен в Java Enterprise Edition, также известной как Java EE. Он был разработан Sun Microsystems в 1997 году. После первой версии 1.0 Servlet, выпущенной в 1997 году, было выпущено много новых версий, последней из которых была Servlet 4.0.
Технология сервлетов очень полезна при создании веб-приложений, поскольку она генерирует динамические веб-страницы, находясь на стороне сервера. Java-сервлеты заменили CGI или Common Gateway Interface, который был языком сценариев, обычно используемым в качестве языка программирования на стороне сервера.
Сервлет является независимым от платформы, надежным и имеет доступ ко всем API Java, таким как JDBC (Java Database Connectivity) API для доступа к базам данных любого предприятия.
Java Servlet используется для создания веб-приложений, которые являются динамическими по своей природе. Для этого он расширяет возможности сервера. Он способен работать на любом веб-сервере, в который встроен контейнер сервлетов.
Процесс сервлета Java может быть легко понят из шагов, упомянутых ниже:
- Клиент отправляет запрос в контейнер сервлета. Здесь клиент относится к любому используемому браузеру, например Chrome, IE, Mozilla и т. Д.
- Контейнер или веб-сервер ищет сервлет. Как только сервер находит сервлет, он запускает сервлет.
- Теперь сервлет обрабатывает запрос клиента, а затем ответ отправляется обратно на сервер.
- Этот ответ отправляется клиенту сервером.
Прежде чем мы перейдем к жизненному циклу сервлета, вы должны разобраться с терминологией, используемой до сих пор в этой статье. Это будет полезно при понимании жизненного цикла сервлета.
- Веб-сервер : веб-сервер или HTTP-сервер обрабатывает запросы HTTP и ответы HTTP. Запросы, отправленные клиентами, обрабатываются, и ответ отправляется на основании запроса, сделанного этим сервером.
- Веб-контейнер : веб-контейнер или контейнер сервлетов или механизм сервлетов взаимодействует с сервлетами. Это важный компонент веб-сервера, так как он управляет жизненным циклом сервлета.
Жизненный цикл сервлета
Вы можете понимать жизненный цикл сервлета как последовательность шагов, которые сервлет проходит в течение своей жизни, начиная с его инициации и заканчивая уничтожением. Servlet Engine управляет жизненным циклом сервлета, как было сказано ранее.
Жизненный цикл сервлета можно суммировать в следующих пяти пунктах:
- Класс Servlet загружен.
- Экземпляр сервлета создан
- Метод init () вызывается для инициализации сервлета.
- Метод service () вызывается повторно для каждого размещенного клиентского запроса.
- Сервлет уничтожается с помощью метода destroy ().
Примечание. Объекты также называются экземплярами.
1) Загрузка класса сервлетов
Класс сервлета загружается с помощью загрузчика классов. Как только веб-контейнер получает запрос на сервлет, класс сервлета загружается.
2) Создание экземпляра класса сервлета
Экземпляр сервлета создается веб-контейнером, как только класс сервлета загружается. Имейте в виду, что создание экземпляра сервлета выполняется один раз в жизни для каждого сервлета, что означает, что он будет создан только один раз в жизненном цикле сервлета.
3) Вызов метода Init ()
После создания экземпляра сервлета задача веб-контейнера заключается в вызове метода init (). Метод init () вызывается только один раз и инициализирует сервлет. Если сервлет вызван любым пользователем, будет создан только один экземпляр этого сервлета. Каждый запрос приводит к генерации нового потока. Данные, созданные или загруженные путем вызова метода init (), остаются в течение всего срока службы сервлета.
Обратите внимание, что метод init () будет вызываться только один раз в течение всей жизни сервлета.
Синтаксис, приведенный ниже, будет вызывать метод init -
public void init () создает исключение ServletException
(
/ / Код
)
4) Вызов метода Service ()
Метод Service () является важным методом, который будет вызываться каждый раз, когда поступает запрос для сервлета. Веб-контейнер - это компонент, который будет вызывать метод service () для выполнения некоторой реальной работы, т. Е. Для получения запросов, отправленных браузером клиента, и для их обработки путем отправки соответствующего ответа клиенту. Когда сервлет инициализируется, вызывается сервисный метод и анализируются все типы HTTP-запросов, такие как GET, POST, PUT, DELETE и т. Д. После того, как типы запросов известны, метод service () отправит запрос своему обработчику. метод, основанный на этом.
Рассмотрим случай запроса POST, сделанного клиентом. Задача метода service () состоит в том, чтобы вызвать метод doPost () и отправить ему запрос. Все запросы имеют свой собственный метод-обработчик, к которому будет вызываться метод service () в зависимости от типа сделанного запроса. Например, для получения исключения есть метод-обработчик doGet (), для Put - метод doPut () и так далее.
Обратите внимание, что метод service () вызывается каждый раз, когда происходит запрос клиента. Это означает, что в отличие от методов init () и destroy (), метод service () может вызываться бесчисленное количество раз в течение жизненного цикла сервлета.
Синтаксис, который вы найдете ниже, вызовет метод service () для сервлета:
служба public void (запрос ServletRequest, ответ ServletResponse) выдает IOException, ServletException
(
//код
)
5) Вызов метода Destroy ()
В случае закрытия веб-сервера сервлету предоставляется возможность выгрузить все созданные сервлеты. Метод destroy () удалит все инициализированные сервлеты, тем самым очистив память.
Синтаксис для этого:
публичный void destroy ()
Рекомендуемые статьи
Это было руководство к жизненному циклу сервлета. Здесь мы обсудили последовательные шаги, за которые сервлет проходит свою жизнь, начиная с его инициации и заканчивая уничтожением. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- Интервью с сервлетами Java
- Servlet Интервью Вопросы
- Что такое кибербезопасность?
- Что такое SQL Server?