Жизнен цикъл на Сервлет

Този урок ви дава разбиране за Java Servlets и неговия жизнен цикъл. Преди да започнем с жизнения цикъл на Servlet, нека първо да разберем какво точно представлява Servlet и неговия процес.

Какво е сервлет?

Java Servlet е клас в езика за програмиране на Java, който е дефиниран в Java Enterprise Edition, известен също като Java EE. Той е разработен от Sun Microsystems през 1997 г. След първата версия 1.0 на Servlet, издадена през 1997 г., бяха пуснати много нови версии, като последната е Servlet 4.0.

Технологията Servlet е много полезна при създаването на уеб приложения, тъй като генерира динамични уеб страници, докато се намира в страната на сървъра. Java сервлетите замениха CGI или Common Gateway Interface, който беше скриптов език, който обикновено се използва като език за програмиране от страна на сървъра.

Servlet е независим от платформата, здрав и може да получи достъп до всички API на Java като JDBC (Java Database Connectivity) API за достъп до базите данни на всяко предприятие.

Java Servlet се използва за създаване на уеб приложения с динамичен характер. За да направи това, той разширява възможностите на сървъра. Той може да работи във всеки уеб сървър, в който е интегриран контейнер Servlet.

Процесът на Java Servlet може да бъде лесно разбран от стъпките, споменати по-долу:

  1. Клиентът изпраща заявка до контейнер за сървлета. Клиентът тук се отнася до всеки браузър като Chrome, IE, Mozilla и т.н., които се използват.
  2. Контейнерът или уеб сървърът търсят сървлета. Щом сървърът намери сървлета, той инициира сървлета.
  3. Сега сервлетът обработва клиентската заявка и след това отговор се изпраща обратно на сървъра.
  4. Този отговор се изпраща на клиента от сървъра.

Преди да преминем към жизнения цикъл на сервлет, трябва да сте наясно с терминологиите, използвани досега в тази статия. Това ще бъде полезно, докато разбирате жизнения цикъл на Servlet.

  1. Уеб сървър : Уеб сървърът или HTTP сървърът обработва HTTP заявки и HTTP отговори. Заявките, изпратени от клиенти, се обработват и отговорът се изпраща въз основа на заявката, направена от този сървър.
  2. Web Container : Web Container или Servlet Container или Servlet Engine взаимодейства със сървлетите. Той е важен компонент на уеб сървъра, тъй като той управлява жизнения цикъл на сървлета.

Жизнен цикъл на Сервлет

Можете да разберете жизнения цикъл на сървлет като последователност от стъпки, през които сервлет претърпява през целия си живот, като се започне от неговото започване до унищожаване. Servlet Engine управлява жизнения цикъл на сервлета, както беше казано по-рано.

Жизненият цикъл на сервлета може да се обобщи в споменатите пет точки:

  1. Класът Servlet е зареден.
  2. Създава се инстанцията Servlet
  3. Методът init () се извиква, за да се инициализира сервлетът.
  4. Методът на услугата () се извиква многократно за всяка поставена клиентска заявка.
  5. Сервлетът се унищожава с помощта на метода на разрушаване ().

Забележка: Обектите също се наричат ​​инстанции.

1) Зареждане на класа Servlet

Класът servlet се зарежда с помощта на classloader. Веднага щом заявката за сървлет бъде получена от уеб контейнера, класът сервлет се зарежда.

2) Създаване на инстанция на клас сервлет

Екземпляр на сървлета се създава от уеб контейнера веднага след като класът на сървлета се зареди. Имайте предвид, че създаването на сървлет екземпляр е веднъж в живота процес за всеки сървлет, което означава, че той ще бъде създаден само веднъж в жизнения цикъл на сървъла.

3) Извикване на метода Init ()

След като се създаде инстанцията servlet, задачата на уеб контейнера е да извика метода init (). Методът init () се извиква само веднъж и инициализира сервлета. Ако сервлет бъде извикан от всеки потребител, ще бъде създаден само един екземпляр от този сървлет. Всяка една заявка води до генериране на нова тема. Данните, създадени или заредени чрез извикване на метода init (), остават през целия живот на сървлета.

Моля, обърнете внимание, че методът init () ще бъде извикан само веднъж през целия живот на сервлета.

Синтаксисът, даден по-долу, ще извика метода на init -

public void init () хвърля ServletException

(

/ / Код

)

4) Извличане на метода на услугата ()

Методът Service () е важен метод, който ще се извиква всеки път, когато бъде получена заявка за сервлета. Уеб контейнерът е компонентът, който ще извика метода на услугата (), за да извърши някаква действителна работа, т.е. Когато сервлетът се инициализира, се извиква методът на услугата и се анализират всички видове HTTP заявки като GET, POST, PUT, DELETE и др. метод, базиран на това.

Помислете за случая на POST заявка, направена от клиента. Задачата на метода service () е да извика метода doPost () и да изпрати заявката до него. Всички заявки имат собствен метод за обработка, към който ще бъде извършено обаждане чрез метода на услугата () въз основа на типа на направената заявка. Например, за получаване на изключение има метод за обработка на doGet (), за Put, има метод doPut () и т.н.

Моля, обърнете внимание, че методът на услугата () се извиква всеки път, когато се случи заявка на клиента. Това означава, че за разлика от метода init () и kill () методът на услугата () може да бъде извикан безброй пъти по време на жизнения цикъл на сървлета.

Синтаксисът, който намерите по-долу, ще извика метода service () за Servlet:

обществена невалидна услуга (ServletRequest req, ServletResponse отговор) хвърля IOException, ServletException

(

// код

)

5) Извикване на метод за унищожаване ()

По повод изключване на уеб сървъра, сервлетът получава шанс да разтовари всички създадени сървлета. Методът kill () ще премахне всички инициализирани сървлета, като по този начин почисти паметта.

Синтаксисът за него е:

публична невалидност унищожи ()

Препоръчителни статии

Това е ръководство за жизнения цикъл на Servlet. Тук сме обсъдили стъпките в последователност, за които сървлет претърпява през целия си период на живот, като се започне от неговото започване до унищожаване. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Въпроси за интервю с Java Servlet
  2. Въпроси за интервю на сервлет
  3. Какво е киберсигурност?
  4. Какво е SQL Server?