Жизненный цикл

Жизненный цикл любого сервлета состоит из 4 этапов:

  • Инициализация, которая происходит при вызове метода init()
  • Обработка клиентского запроса после вызова метода service()
  • Уничтожение сервлета с помощью вызова метода destroy()
  • Полное уничтожение сервлета сборщиком мусора Java (Garbage Collector).

Метод init()

Данный метод вызывается только один раз при создании сервлета.

Обычно создание происходит в момент перехода по ссылке (URL) на страницу, работу которой обеспечивает определенный сервлет. Это может быть изменено и создание может происходить при запуске сервера.

После создания сервлета, каждый запрос клиента приводит к созданию нового потока, который работает с методами doGet или doPost, в зависимости от самого запроса.


Метод service()

Данный метод является основным методом, который и содержит саму логику работы сервлета. Он вызывается для обработки полученного запроса и передачи ответа HTTP-клиенту.

При получении запроса, сервер создает новый поток, который вызывает метод service. Данный метод проверяет тип запроса (POST, GET и т.д.) и вызывает соответствующий метод (doPost, doGet и т.д.).


Метод destroy()

Данный метод вызывается после того, как сервлет выполнил свои задачи. Используется, например, для таких задач, как запись данных в cookie, закрытие соединения к базе данных (далее – БД) и т.д.

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

После получения запроса, для обработки которого необходим определенный сервлет, происходит его инициализация (методinit()). После этого, происходит обработка данного запроса (service()). И, в конце жизненного цикла сервлета, происходит вызов метода destroy().

results matching ""

    No results matching ""