Životní cyklus JSP Naučte se kroky životního cyklu JSP s příklady

Obsah:

Anonim

Úvod do životního cyklu JSP

V tomto článku probereme životní cyklus JSP. Stránky serveru Java, technologie na straně serveru, která přebírá odpovědnost za zpracování na serveru.

1. Kde potřebujeme JSP?

  • Pokud se chystáte do vývoje na webu a to, co vidíme, je vytváření dynamických webů, pak hrají JSP zásadní roli, protože vykreslování se provádí dynamicky.
  • JSP fungují pouze na podkladovém HTML, tělo stránky je tvořeno pouze základními značkami HTML, ale existují určité zástupné symboly, parametry, hodnoty seznamu, iterátory, které jsou proveditelné pouze s JSP, HTML vám poskytuje statické zobrazení pouze při jakémkoli rozlišení, které je třeba udělat v době běhu vyžaduje dynamické zpracování, takže se tam JSP objeví jako řešení.
  • JSP umožňuje oddělení tvorby obsahu a prezentace obsahu

Vezměme si základní příklad, který vám dá představu o tomto dynamickém vykreslování.



Obsah nebo logika uvnitř jsou vykreslovány dynamicky a jsou předávány pouze back-endem.

Nyní pojďme dopředu a pochopíme životní cyklus JSP a jak se vlastně dostanou na front-end, aby poskytovali zákazníkovi čitelný nebo připraven zážitek.

2. Životní cyklus JSP:

Existují určité fáze, ve kterých je tento cyklus rozdělen, definovaný následovně -

  1. Fáze překladu - kde se soubor JSP převede na soubor servletů.
  2. Kompilační fáze - kde se soubor servletů převede na třídu servletů.
  3. Třída zatížení
  4. Okamžitost objektu servletu
  5. Inicializace kontejneru servletů volá metodu jspInit ()
  6. Kontejner servletu volá _jspService () pro zpracování požadavku
  7. Vyčistěte JSP, kontejner servletů zde zavolá metodu jspDestroy ().

Nyní vám dovolíme propracovat výše uvedené kroky, abyste získali jasnější obrázek -

Krok 1

Ve fázi překladu překladač servlet převede JSP na servlet tak, aby kódování založené na značkách získalo ekvivalentní podobu v java, takže Java Virtual Machine (JVM) to pochopí (protože nebude rozumět jazyku značek) . Tento překlad se provádí serverem buď v době nasazení webové aplikace, nebo když JSP obdrží svou první žádost o provedení.

Krok 2

Nyní nastal čas pro kompilaci zdrojového kódu, tj. Převedení servletového kódu na java bajtový kód (java bajtový kód je sada instrukcí pro java virtuální stroj).

Krok 3

Třída servletů, která byla načtena ze zdroje JSP, bude nyní načtena do kontejneru.

Krok 4

Po načtení souboru třídy webovým kontejnerem nyní kontejner JSP používá konstruktor bez argumentů pro vytvoření instance třídy servletů. Jakmile kontejner inicializuje objekty vyvoláním metody jsplnit ().

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

Krok 5

Nyní nastal čas pro zpracování požadavků, zde se inicializované objekty servletů ekvivalentních JSP používají pro zpracování požadavků klientů. Metoda _jspService () je vyvolána webovým kontejnerem. Toto vyvolání je provedeno jedním objektem servletu předávajícím objekt HTTPServletRequest a objekt HTTPServletResponse pro příslušné požadavky a odpovědi. Všimněte si, že neexistuje žádné ustanovení pro přepsání metody _jspService ().

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

Krok 6

Poslední krok se nazývá JSP clean up, JSP musí být odstraněn z použití kontejnerem a metoda jspDestroy () je použita pro totéž, tato metoda bude vyvolána pouze jednou. Existuje ustanovení, které přepíše tuto metodu, a to lze provést v případech, kdy chceme provést vlastní akci, jako je uvolnění připojení pro databázi atd.

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

Příklad:

Vytvořme přihlašovací formulář pro naši ukázkovou aplikaci a pro vykreslování určitého obsahu zde budeme používat JSP.

<%@ 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


Ve výše uvedeném příkladu je kód umístěný uvnitř vykreslen dynamicky, jak jsme již dříve zmínili, nyní, jakmile je tento požadavek odeslán, bude přijat akčním řadičem, což je v podstatě třída Java, která obsahuje parametry odpovídající jmenám uvedeným v Soubor JSP.

Kontejner servletu vytvoří modální objekt a obsah může být označen v jiných JSP odkazem na tento konkrétní řadič.

Tento druh přístupu založeného na MVC dnes najde místo s technologiemi jako -

  1. Jarní MVC
  2. Vzpěry 2
  3. Servlety

Jaro MVC a Struts 2 zavedly své specifické URI, aby používaly JSP přizpůsobeným způsobem, a také zavádějí různé varianty značek, jako je automatické doplňování, iterátor, seznam atd.

JSP tak díky své flexibilitě najde ideální místo v mnoha rámcích.

Závěr

  • Proto jsme se dozvěděli, že dynamické weby mají své rozhraní frontend vykresleno prostřednictvím JSP, zatímco statické stránky lze přímo vložit do HTML čistě, protože od té doby nepotřebují žádné manipulace s daty / obsahem.
  • Moderní technologie jsou kompatibilní s JSP a používají je podpěry a pružinové rámce, které nacházejí místo ve velkých aplikacích týkajících se bankovnictví, SCM, maloobchodních prodejen atd.
  • Kompatibilní s AJAX vyžaduje dynamické vykreslování.
  • Aplikace nemůže být typu jediné stránky, protože vždy, když je potřeba načíst stránku z koncového zařízení.
  • Dlaždice lze použít pro základní formáty rozložení ve vzpěrách a na jaře a to, co musíme znovu a znovu vykreslit, je pouze tělo.
  • Nakonec se kódy převedou na HTML ekvivalent na front-endu.
  • JSP rozlišují koncept prezentace obsahu a generování obsahu.
  • Interceptory jsou poskytovány různými kostry, které vývojářům usnadňují život, jako jsou pomůcky ve vzpěrách pro procesy nahrávání souborů atd.

Doporučené články

Toto byl průvodce životním cyklem JSP. Zde jsme diskutovali úvod, kroky a příklad životního cyklu JSP. Další informace naleznete také v dalších navrhovaných článcích -

  1. JSP vs ASP
  2. AJAX Interview Otázky
  3. Co je MVC?
  4. JSP vs Servlet
  5. Iterátory v C #