Introduktion til JSP Livscyklus
I denne artikel vil vi diskutere JSP Livscyklus. Java-serversider, en serversides teknologi, der tager ansvaret for behandlingen på serveren.
1. Hvor har vi brug for JSP?
- Nå, hvis du er i webbaseret udvikling, og hvad vi ser er at opbygge dynamiske websteder, så spiller JSP'er en vigtig rolle, da gengivelsen foregår dynamisk.
- JSP'er fungerer kun på underliggende HTML, kroppen på en side består kun af grundlæggende HTML-markeringer, men der er visse pladsholdere, parametre, listeværdier, iteratorer, det er kun muligt med JSP'er, HTML giver dig kun statisk visning, mens der skal foretages opløsninger på køretid har brug for en dynamisk håndtering, så JSP'er fremstår som en løsning der.
- JSP muliggør adskillelse af indholdsgenerering og indholdspræsentation
Lad os tage et grundlæggende eksempel her, som giver dig en idé om denne dynamiske gengivelse.
Indholdet eller logikken indeni gengives dynamisk og sendes kun via back-end.
Lad os nu gå videre og forstå livscyklussen for JSP'er, og hvordan får de rent faktisk gengivet i forreste ende for at give en kunde læselig eller klar oplevelse.
2. JSP's livscyklus:
Der er visse faser, hvor denne cyklus er delt, defineret som følger -
- Oversættelsesfase - hvor JSP-filen konverteres til servlet-filen.
- Kompilationsfase - hvor servlet-fil konverteres til servletklasse.
- Klasselæsning
- Instantiation af servletobjektet
- Servlet container kalder jspInit () -metoden til initialisering
- Servlet-container ringer til _jspService () til behandling af anmodningen
- Oprydning af JSP, her kalder servletcontaineren jspDestroy () -metoden.
Lad os nu uddybe de ovennævnte trin for at få et klarere billede -
Trin 1
I oversættelsesfasen oversætter servletcontaineren JSP til en servlet, så den tagbaserede kodning får en ækvivalent form i java, så Java Virtual Machine (JVM) kan forstå det (da det ikke forstår sproget i tags) . Denne oversættelse udføres af serveren enten på implementering af webapplikationen, eller når JSP får sin første anmodning om udførelse.
Trin 2
Nu er tiden inde til en kompilering af kildekoden, dvs. konvertering af servletkoden til java-byte-kode (java-byte-kode er et instruktions sæt til java virtual machine).
Trin 3
Servletklassen, der blev indlæst fra JSP-kilden, indlæses nu i beholderen.
Trin 4
Efter indlæsning af en klassefil af webcontaineren bruger JSP-containeren nu en no-argument-konstruktør til at oprette en forekomst af servletklassen. Når beholderen først initialiserer objekterne ved hjælp af en opfordring af jsplnit () -metoden.
Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)
Trin 5
Nu er tiden inde til behandling af anmodninger, her bruges de initialiserede JSP-ækvivalente servletobjekter til behandling af klientanmodningerne. _jspService () -metoden aktiveres af webcontaineren. Denne tilkaldelse udføres som et servlet-objekt, der passerer HTTPServletRequest-objektet og HTTPServletResponse-objektet for respektive anmodninger og svar. Bemærk, at der ikke er nogen bestemmelse til at tilsidesætte metoden _jspService ().
Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)
Trin 6
Det sidste trin kaldes JSP-oprydning, JSP skal fjernes fra brug af beholderen, og jspDestroy () -metoden bruges til det samme, denne metode skal kun påberåbes én gang. Der er en bestemmelse til at tilsidesætte denne metode, og det kan gøres i tilfælde, hvor vi ønsker at udføre vores brugerdefinerede handling, f.eks. Forbindelsesfrigivelse til database osv.
public void jspDestory()
(
// snippet is placed here
)
Eksempel:
Lad os oprette en login-formular til vores eksempelapplikation, og vi vil bruge JSP til bestemt indhold gengivelse her.
<%@ 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 ovenstående eksempel gengives koden, der er placeret inden i, dynamisk, som vi tidligere har nævnt, nu når denne anmodning er indsendt, vil den blive modtaget af handlingscontrolleren, der dybest set er en Java-klasse, der indeholder parametrene svarende til de navn, der er nævnt i JSP-fil.
En servletcontainer opretter et modalt objekt, og indhold kan henvises til i andre JSP'er ved at henvise til denne bestemte controller.
Denne form for MVC-baseret tilgang finder i dag et sted med teknologier som -
- Forår MVC
- Stivere 2
- Servlets
Spring MVC og Struts 2 har introduceret deres specifikke URI til at bruge JSP'er på en tilpasset måde, og de introducerer også forskellige varianter af tags til det som autofuldførelse, iterator, liste osv.
Så JSP finder et ideelt sted i mange rammer på grund af deres fleksibilitet.
Konklusion
- Derfor lærte vi, at dynamiske websteder har deres frontend gengivet via JSP'er, mens statiske sider direkte kan sættes til HTML, da de ikke har brug for nogen data / indholdsmanipulation fremover.
- Moderne teknologier er kompatible med JSP'er og bruges af stivere og fjederlignende rammer, der finder et sted i store applikationer relateret til bank, SCM, detailforretninger osv.
- Kompatibel med AJAX kræver dynamisk gengivelse.
- En applikation kan ikke være af typen enkel side, da hver gang der skal indlæses en side fra backend.
- Fliser kan bruges til basislayoutformater i stivere og forår, og det, vi har brug for at gengive igen og igen, er bare krop.
- I sidste ende konverteres koder til HTML-ækvivalent i frontend.
- JSP'er differentierer begrebet indholdspræsentation og generering af indhold.
- Interceptorer leveres af forskellige rammer, der gør livet let for udviklerne, ligesom værktøjer i stivere leveres til filoverførselsprocesser osv.
Anbefalede artikler
Dette har været en guide til JSP Livscyklus. Her diskuterede vi introduktionen, trinene og eksemplet på JSP Life Cycle. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -
- JSP vs ASP
- AJAX Interview Spørgsmål
- Hvad er MVC?
- JSP vs Servlet
- Iteratorer i C #