Servlet жыццёвы цыкл можа быць апісана як паслядоўнасць крокаў, з дапамогай якіх сэрвлета ідзе на працягу яго тэрміну службы, пачынаючы ад загрузкі, пакуль ён руйнуецца.
Перш чым я пачну тлумачыць жыццёвы цыкл сэрвлета, давайце абмяркуем некалькі тэрміналогіі з якімі вы сутыкнецеся пры чытанні дадзенага кіраўніцтва. Важна, каб даведацца, што азначае, што кожны тэрмін, гэта дапаможа вам зразумець рэчы хутчэй.
Вэб - сервер: Ён таксама вядомы як HTTP - сервер, ён можа апрацоўваць HTTP - запытаў паслаць кліента і адказвае на запыт з HTTP Response.
Вэб - кантэйнер: Таксама вядомы як кантэйнер сэрвлета і Servlet Engine. Яна з'яўляецца часткай вэб-сервера, які ўзаемадзейнічае з сэрвлета. Гэта асноўны кампанент вэб-сервер, які кіруе жыццёвым цыклам сэрвлета.
Заўвага: сервлетные ўрокі вы знойдзеце на гэтым сайце, выкарыстоўваюць Apache Tomcat вэб-сервер. Хоць я згадаў яго ў якасці вэб-сервера, гэта на самай справе вэб-сервер і вэб-кантэйнер і іншае. (Як ужо згадвалася вышэй, вэб-кантэйнер з'яўляецца часткай вэб-сервера).
Жыццёвы цыкл сэрвлета
Servlet жыццёвы цыкл складаецца з пяці этапаў: 1) Загрузка з Servlet 2) Стварэнне асобніка сэрвлета 3) Invoke Init () адзін раз 4) Invoke службы () паўторна для кожнага запыту кліента 5) Invoke знішчыць ()
Для тых, хто задаецца пытаннем, што з'яўляецца асобнікам і выклікаць сродкі: Instance і аб'екты тое ж самае. Выклік метаду азначае, што выклік метаду, гэта проста фантазіі слова, якое мы выкарыстоўваем у праграмаванні свету замест выкліку :)
Давайце вернемся да асноўнай тэмы. Вось пяць крокаў сэрвлета жыццёвага цыклу.
Крок 1: Загрузка Servlet
Калі вэб-сервер (напрыклад, Apache Tomcat) запускаецца, кантэйнер сэрвлета разгортвання і загружае ўсе сэрвлета.
Крок 2: Стварэнне асобніка сэрвлета
Пасля загрузкі усіх класаў сэрвлета, кантэйнер сэрвлета стварае асобнікі кожнага класа сэрвлета. Servlet кантэйнер стварае толькі адзін раз, напрыклад у класе сэрвлета і ўсе запыты да сэрвлета выконваюцца на той жа асобнік сэрвлета.
Крок 3: Выклік ініцыялізацыі () метад
Пасля таго, як усе класы сервлетных инстанцируется, метад ініцыялізацыі () выклікаецца для кожнага сэрвлета рэалізаванага. Гэты метад ініцыялізуе сэрвлета. Ёсць пэўныя параметры ініцыялізацыі, якія можна паказаць у файле дэскрыптара разгортвання (web.xml). Напрыклад, калі сэрвлета мае значэнне> = 0, то спосаб яго ініцыялізацыі () неадкладна выклікаецца пры запуску вэб-кантэйнера.
Вы можаце паказаць элемент у файле web.xml, як гэта:
<Сэрвлета> <Імя сэрвлета> MyServlet <імя сэрвлета /> <Сэрвлета-клас> com.beginnersbook.MyServletDemo </ сэрвлета-клас> <Нагрузкі на старце> 1 </ нагрузкі на старце> </ Сэрвлета>
Цяпер метад ініцыялізацыі () для адпаведнага сэрвлета класа com.beginnersbook.MyServletDemo будзе выклікацца пры запуску вэб - кантэйнера.
Заўвага: Метад ініцыялізацыі () выклікаецца толькі адзін раз у працягу ўсяго жыццёвага цыклу сэрвлета.
Метад Invoke службы (): Крок 4
Кожны раз, калі вэб-сервер атрымлівае запыт на сэрвлета, ён запускае новы паток, які выклікае метад службы (). Калі сэрвлета GenericServlet то запыт падаецца па метадзе абслугоўвання () сам, калі сэрвлета HttpServlet то метад абслугоўвання () атрымлівае запыт і адпраўляе яго на правільны метад апрацоўшчыка на аснове тыпу запыту.
Напрыклад, калі яго Get Request метад службы () будзе накіроўваць запыт метаду doGet () шляхам выкліку метаду doGet () з параметрамі запыту. Сапраўды гэтак жа, як запыты на паведамленне, Head, Змешчаны г.д. пасланыя ў адпаведныя апрацоўшчыкі doPost () метад, doHead (), doPut () і г.д. службай () сэрвлета.
Заўвага: У адрозненне ад ініцыялізацыі () і знішчыць (), якія выклікаюцца толькі адзін раз, метад службы () можна назваць любы лік раз у працягу сэрвлета жыццёвага цыклу. Да таго часу, пакуль сэрвлета не руйнуецца, для кожнага запыту кліента метад службы () выклікаюцца.
З усіх 5 этапаў жыццёвага цыклу, гэта адзіны крок , які выконвае некалькі разоў.
Крок 5: Invoke знішчыць () метад
Калі кантэйнер сэрвлета завяршае працу (звычайна гэта адбываецца, калі мы спыняемся на вэб-сервер), гэта разгружае метад усё сэрвлета і выклікі знішчыць () для кожнага ініцыялізаваць сэрвлета.
калі ласка, дадайце канцэпцыю фільтра ў сэрвлета
Прывітанне сэр,
Мы хочам, каб вы адправіць пра Spring Framework.
Я прыйшоў праз кожныя канцэпцыі вы патлумачылі, і я быў настолькі ўражаны, і добра разумеў.
Таму, калі ласка, пакідаць усё больш і больш пра новых тэхналогіях.
Дзякуй
ды, добрая кропка зрабіла