Жизненный цикл сервлета

Это руководство дает вам представление о 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 может быть легко понят из шагов, упомянутых ниже:

  1. Клиент отправляет запрос в контейнер сервлета. Здесь клиент относится к любому используемому браузеру, например Chrome, IE, Mozilla и т. Д.
  2. Контейнер или веб-сервер ищет сервлет. Как только сервер находит сервлет, он запускает сервлет.
  3. Теперь сервлет обрабатывает запрос клиента, а затем ответ отправляется обратно на сервер.
  4. Этот ответ отправляется клиенту сервером.

Прежде чем мы перейдем к жизненному циклу сервлета, вы должны разобраться с терминологией, используемой до сих пор в этой статье. Это будет полезно при понимании жизненного цикла сервлета.

  1. Веб-сервер : веб-сервер или HTTP-сервер обрабатывает запросы HTTP и ответы HTTP. Запросы, отправленные клиентами, обрабатываются, и ответ отправляется на основании запроса, сделанного этим сервером.
  2. Веб-контейнер : веб-контейнер или контейнер сервлетов или механизм сервлетов взаимодействует с сервлетами. Это важный компонент веб-сервера, так как он управляет жизненным циклом сервлета.

Жизненный цикл сервлета

Вы можете понимать жизненный цикл сервлета как последовательность шагов, которые сервлет проходит в течение своей жизни, начиная с его инициации и заканчивая уничтожением. Servlet Engine управляет жизненным циклом сервлета, как было сказано ранее.

Жизненный цикл сервлета можно суммировать в следующих пяти пунктах:

  1. Класс Servlet загружен.
  2. Экземпляр сервлета создан
  3. Метод init () вызывается для инициализации сервлета.
  4. Метод service () вызывается повторно для каждого размещенного клиентского запроса.
  5. Сервлет уничтожается с помощью метода 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 ()

Рекомендуемые статьи

Это было руководство к жизненному циклу сервлета. Здесь мы обсудили последовательные шаги, за которые сервлет проходит свою жизнь, начиная с его инициации и заканчивая уничтожением. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Интервью с сервлетами Java
  2. Servlet Интервью Вопросы
  3. Что такое кибербезопасность?
  4. Что такое SQL Server?