Ciclul de viață JSP - Aflați etapele ciclului de viață al JSP cu exemple

Cuprins:

Anonim

Introducere în ciclul de viață JSP

În acest articol, vom discuta despre ciclul de viață JSP. Pagini de server Java, o tehnologie din partea serverului care își asumă responsabilitatea procesării la server.

1. Unde avem nevoie de JSP?

  • Ei bine, dacă te afli într-o dezvoltare bazată pe web și ceea ce vedem este construirea de site-uri web dinamice, atunci JSP-urile joacă un rol vital, deoarece redarea se face dinamic.
  • JSP-urile funcționează doar pe HTML-ul de bază, corpul unei pagini este constituit doar de marcaje HTML de bază, dar există anumite marcaje de locație, parametri, valori de listă, iterarele acestea sunt realizabile doar cu JSP-uri, HTML vă oferă afișare statică doar în timp ce orice rezoluții trebuie efectuate. la timpul de rulare are nevoie de o manipulare dinamică, astfel încât JSP-urile apar ca o soluție acolo.
  • JSP permite separarea generarii conținutului și prezentarea conținutului

Să luăm aici un exemplu de bază care vă va oferi o idee a acestei redări dinamice.



Conținutul sau logica din interior este redat dinamic și este transmis numai prin back-end.

Acum să mergem mai departe și să înțelegem ciclul de viață al JSP-urilor și cum se redau efectiv în partea frontală pentru a oferi unui client experiență care poate fi citită sau pregătită.

2. Ciclul de viață al JSP:

Există anumite faze în care acest ciclu este divizat, definit astfel:

  1. Faza de traducere - fișierul JSP este convertit în fișierul servlet.
  2. Faza de compilare - unde fișierul servlet devine convertit în clasa servlet.
  3. Încărcarea clasei
  4. Instantarea obiectului servlet
  5. Containerul Servlet apelează metoda jspInit () pentru inițializare
  6. Containerul Servlet apelează _jspService () pentru procesarea cererii
  7. Curățarea JSP, aici containerul servlet va apela la metoda jspDestroy ().

Acum permiteți să elaborați pașii menționați mai sus pentru a avea o imagine mai clară -

Pasul 1

În faza de traducere, containerul servlet traduce JSP într-un servlet, astfel încât codarea bazată pe etichete să obțină o formă echivalentă în java, astfel încât Java Virtual Machine (JVM) să înțeleagă asta (deoarece nu va înțelege limba de etichete) . Această traducere este făcută de server fie în momentul implementării aplicației web, fie când JSP primește prima sa cerere de execuție.

Pasul 2

Acum vine timpul pentru o compilare a codului sursă, adică convertirea codului servlet în codul de byte java (codul de byte java este un set de instrucțiuni pentru mașina virtuală java).

Pasul 3

Clasa de servlet care a fost încărcată din sursa JSP va fi acum încărcată în container.

Pasul 4

După încărcarea unui fișier de clasă de către containerul web, containerul JSP utilizează acum un constructor fără argumente pentru crearea unei instanțe a clasei servlet. Acum, odată ce containerul inițializează obiectele printr-o invocare a metodei jsplnit ().

Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)

Pasul 5

Acum vine momentul procesării cererii, aici obiectele de servlet echivalent JSP inițializate sunt utilizate pentru procesarea cererilor clientului. Metoda _jspService () este invocată de containerul web. Această invocare este făcută dintr-un obiect servlet care trece obiectul HTTPServletRequest și obiectul HTTPServletResponse pentru cererile și răspunsurile respective. Rețineți că nu există nicio prevedere care să înlocuiască metoda _jspService ().

Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)

Pasul 6

Ultima etapă se numește curățare JSP, JSP trebuie eliminată din utilizare de către container și metoda jspDestroy () este utilizată pentru aceeași, această metodă va fi invocată o singură dată. Există o prevedere care să înlocuiască această metodă și care poate fi făcută pentru cazurile în care dorim să realizăm acțiunea noastră personalizată, cum ar fi lansarea conexiunii pentru baza de date etc.

public void jspDestory()
(
// snippet is placed here
)

Exemplu:

Să creăm un formular de autentificare pentru aplicația noastră de probă și vom folosi JSP pentru anumite redări de conținut aici.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


My Login Form

<%
Date d = new Date();
System.out.println("Current Date= "+d);
%>

UserName

Password


În exemplul de mai sus, codul plasat în interior este redat dinamic așa cum am menționat anterior, acum, odată ce această solicitare este transmisă, va fi primit de controlorul de acțiune, care este practic o clasă Java care conține parametrii corespunzători numelor menționate în Fișier JSP.

Un container servlet creează un obiect modal și conținutul poate fi menționat în alte JSP-uri, făcând referire la acest controlor special.

În prezent, acest tip de abordare bazată pe MVC își găsește un loc cu tehnologii precum:

  1. Spring MVC
  2. Struts 2
  3. Servlets

Spring MVC și Struts 2 au introdus URI-ul lor specific pentru a utiliza JSP-urile într-o manieră personalizată și, de asemenea, introduc diferite varietăți de etichete pentru acelea, cum ar fi completarea automată, iteratorul, lista etc.

Deci JSP găsește un loc ideal în multe cadre datorită flexibilității lor.

Concluzie

  • Prin urmare, am aflat că site-urile web dinamice au frontend-ul lor prin JSP, în timp ce paginile statice pot fi direct puse în HTML pur și simplu, deoarece nu au nevoie de date / manipulări de conținut de atunci.
  • Tehnologiile moderne sunt compatibile cu JSP-urile și sunt folosite de struts și arcuri precum cadre care găsesc un loc în aplicații mari legate de activități bancare, SCM, magazine de retail etc.
  • Compatibil cu apelurile AJAX pentru redarea dinamică.
  • O aplicație nu poate fi de o singură pagină, deoarece de fiecare dată trebuie solicitată încărcarea din backend.
  • Placile pot fi utilizate pentru formate de aspect de bază în struts și arc și ceea ce trebuie să redăm din nou și din nou este doar corp.
  • În cele din urmă, codurile sunt convertite în echivalent HTML în partea frontală.
  • JSP diferențiază conceptul de prezentare a conținutului și generarea de conținut.
  • Interceptoarele sunt furnizate de diverse cadre care fac viața ușoară pentru dezvoltatori, cum ar fi utilitățile în struts sunt furnizate pentru procesele de încărcare a fișierelor etc.

Articole recomandate

Acesta a fost un ghid pentru ciclul de viață JSP. Aici am discutat introducerea, etapele și exemplul ciclului de viață JSP. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. JSP vs ASP
  2. Întrebări de interviu AJAX
  3. Ce este MVC?
  4. JSP vs Servlet
  5. Iteratori în C #