Introduktion till JSP Life Cycle
I den här artikeln kommer vi att diskutera JSP Life Cycle. Java-serversidor, en server-teknik som tar ansvaret för behandlingen på servern.
1. Var behöver vi JSP?
- Tja, om du är i webbaserad utveckling och vad vi ser bygger dynamiska webbplatser, spelar JSP: er en viktig roll eftersom rendering sker dynamiskt.
- JSP: er fungerar endast på underliggande HTML, kroppen på en sida består endast av grundläggande HTML-markeringar men det finns vissa platshållare, parametrar, listvärden, iteratorer som är möjliga endast med JSP: er, HTML ger dig statisk visning endast medan några upplösningar som ska göras vid körning krävs en dynamisk hantering, så JSP: er visas som en lösning där.
- JSP möjliggör separering av innehållsgenerering och innehållspresentation
Låt oss ta ett grundläggande exempel som ger dig en uppfattning om denna dynamiska återgivning.
Innehållet eller logiken inuti återges dynamiskt och skickas endast via back-end.
Låt oss nu gå vidare och förstå livscykeln för JSP: er och hur de faktiskt blir återgivna i framkant för att ge en kund läsbar eller redoupplevelse.
2. Livscykel för JSP:
Det finns vissa faser där denna cykel är indelad, definierad enligt följande -
- Översättningsfas - där JSP-filen konverteras till servlet-filen.
- Kompilationsfas - där servletfil konverteras till servletklassen.
- Klassbelastning
- Instantiation av servletobjektet
- Servlet container kallar metoden jspInit () för initiering
- Servlet behållare anropar _jspService () för behandling av begäran
- Rensa upp JSP, här servlet behållaren kommer att kalla metoden jspDestroy ().
Låt oss nu utarbeta ovanstående steg för att få en tydligare bild -
Steg 1
I översättningsfasen översätter servletcontainern JSP till en servlet så att taggbaserad kodning får en motsvarande form i java så att Java Virtual Machine (JVM) kan förstå det (eftersom det inte förstår taggsspråket) . Denna översättning görs av servern antingen vid distribueringen av webbapplikationen eller när JSP får sin första begäran om exekvering.
Steg 2
Nu är det dags för en sammanställning av källkoden, dvs. konvertering av servletkoden till java-byte-kod (java-byte-kod är en instruktionsuppsättning för virtuell java-maskin).
Steg 3
Servletklassen som laddades från JSP-källan laddas nu i behållaren.
Steg 4
Efter att ha laddat en klassfil i webbcontainern använder JSP-behållaren nu en no-argument-konstruktör för att skapa en instans av servletklassen. Nu när behållaren initialiserar objekten genom en åkallelse av jsplnit () -metoden.
Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)
Steg 5
Nu är det dags för behandling av begäran, här används de initierade JSP-ekvivalenta servletobjekten för att behandla klientbegäran. _jspService () -metoden åberopas av webbehållaren. Denna kallelse görs ett servletobjektet som passerar HTTPServletRequest-objektet och HTTPServletResponse-objektet för respektive förfrågningar och svar. Observera att det inte finns någon bestämmelse för att åsidosätta metoden _jspService ().
Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)
Steg 6
Det sista steget kallas JSP-rensning, JSP måste tas bort från behållaren och jspDestroy () -metoden används för samma, denna metod ska endast åberopas en gång. Det finns en bestämmelse för att åsidosätta den här metoden och det kan göras för fall där vi vill utföra vår anpassade åtgärd som anslutningsrelease för databas etc.
public void jspDestory()
(
// snippet is placed here
)
Exempel:
Låt oss skapa ett inloggningsformulär för vår exempelapplikation och vi kommer att använda JSP för visning av innehåll här.
<%@ 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" | <%@ page language="java" contentType="text/html; charset=ISO-8859-1" |
<%@ 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
I exemplet ovan återges koden som placeras in dynamiskt som vi nämnde tidigare också, nu när denna begäran har skickats in kommer den att tas emot av åtgärdsstyrenheten som i princip är en Java-klass som innehåller parametrarna som motsvarar namnen som nämns i JSP-fil.
En servletbehållare skapar ett modalt objekt och innehåll kan hänvisas till i andra JSP: er genom att hänvisa till denna speciella styrenhet.
Den här typen av MVC-baserad strategi hittar nu en plats med tekniker som -
- Spring MVC
- Stagar 2
- Servlets
Spring MVC och Struts 2 har introducerat sin specifika URI för att använda JSP: er på ett anpassat sätt och de introducerar också olika varianter av taggar för det som autofullständig, iterator, lista etc.
Så JSP hittar en idealisk plats i många ramar på grund av deras flexibilitet.
Slutsats
- Därför lärde vi oss att dynamiska webbplatser har sin frontend återgivna via JSP, medan statiska sidor direkt kan läggas till HTML rent eftersom de inte behöver några data / innehållshanteringar framöver.
- Modern teknik är kompatibel med JSP: er och används av stagar och vårliknande ramverk som hittar en plats i stora applikationer relaterade till bank, SCM, detaljhandlare etc.
- Kompatibel med AJAX kräver dynamisk återgivning.
- En applikation kan inte vara av en enda sida eftersom varje sida krävs för att laddas från backend.
- Kakel kan användas för baslayoutformat i stag och fjäder, och det vi behöver göra igen och igen är bara kropp.
- I slutändan konverteras koder till HTML-ekvivalent i frontend.
- JSP: er differentierar begreppet innehållspresentation och innehållsgenerering.
- Avlyssnare tillhandahålls av olika ramverk som gör livet enkelt för utvecklarna som verktyg i struts tillhandahålls för filuppladdningsprocesser etc.
Rekommenderade artiklar
Detta har varit en guide till JSP Life Cycle. Här diskuterade vi introduktionen, stegen och exemplet på JSP Life Cycle. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- JSP vs ASP
- AJAX intervjufrågor
- Vad är MVC?
- JSP vs Servlet
- Iteratorer i C #