Articles

JSP livscyklus begivenheder forklaret

JSPs er faktisk servlets, som du allerede har set. Beholderen konverterer alle JSP-filer til servlets, før de udføres. JSP ‘ er giver bare en nem måde at oprette komponenter, der indeholder ikke-java-kode.

når en JSP-side er oprettet og implementeret, vil containeren udføre nogle livscyklushændelser, som også inkluderer at kalde nogle af dens metoder svarende til servlet-livscyklushændelser.

  1. JSP side oversættelse (Validering, oversættelse, kompilering faser)
  2. Load Class
  3. Instantiate
  4. jspinit metode kaldes
  5. _jspService metode kaldes
  6. jspDestroy metode kaldes

JSP-sideoversættelse (Validering, oversættelse, kompileringsfaser)

Validering udføres før oversættelse. Syntakskontrol sker, og alle henvisninger til tagbiblioteker, handlinger og EL-funktioner i JSP valideres for at sikre, at de findes og er tilgængelige for siden, og hvis der er problemer, opstår der en fejl og forhindrer oversættelsesprocessen i at fortsætte.

før Validering konverteres JSP-siden til en visning, og denne visning valideres og oversættes derefter.

indledende JSP input side er oversat til servlet kildekode. Mens du gør det, vil det skrive udskriftserklæringerne for hver af dine ikke-java-linjer i JSP. Denne genererede servlet skal implementere HttpJspPage eller dens overordnede JspPage baseret på, om miljøet er HTTP-baseret eller ej. Relateret blog: vinkel træning i Chennai

  • en leverandør vil typisk have en specialiseret JSP base servlet, der udvider og implementerer alle nødvendige klasser eller grænseflader. I Tomcat kaldes dette org.apache.jaspis.runtime.HttpJspBase. HttpJspBase udvider HttpServlet og GenericServlet, og implementerer HttpJspPage, JspPage, Serialiserbar, Servlet, ServletConfig.

Servlet-kildekoden kompileres derefter til en servlet-klassefil.

udgange

  • der er to udgange inden for oversættelsesfasen.
  • den første er en midlertidig udgang: en Java-kildefil til en servlet.
  • den anden er den kompilerede klassefil fra servlet-kilden.
  • klassefilen bevares til fremtidig brug, og de fleste JSP-containere kan beholde eller give dig en mulighed, hvorved du kan beholde servlet-kilden til fejlfindingsformål.
  • i Tomcat opbevares den genererede Servlet Java-kilde og kompilerede klasse under JSP-oversættelse som standard i hvilken mappe<Tomcat – Installation-Directory>/arbejde/Catalina/localhost/<kontekst-directory > /org/apache/jsp.

Timing

  • selvom en JSP-container har skøn med hensyn til, hvornår oversættelsen finder sted, kompileres JSP som standard (i de fleste tilfælde) til en servlet og indlæses derefter første gang den åbnes.
  • dette kan medføre en lille forsinkelse for den første anmodning, men der vil ikke være nogen forsinkelse i efterfølgende anmodninger.
  • i visse applikationsservere kan du også forudkompilere JSP ‘ er, før du tilføjer dem i krukker.

fejl

  • hvis en side ikke oversætter, skal en HTTP-anmodning om siden give anledning til en 500 (serverfejl) statuskode, der kommunikeres tilbage i HTTP-svaret.

belastningsklasse

  • den genererede servlet-klasse indlæses ved hjælp af programmets klasselæsser.

Instantiate

  • en forekomst af servlet-klassen oprettes.
  • for hver servlet kortlægning erklæring af JSP på nettet.en ny forekomst ud over standard JSP-filforekomsten oprettes. Hvis jeg har en JSP side i sammenhæng rod, og jeg har også registreret den samme JSP side i nettet.jeg vil have to forekomster af den JSP oprettet.

jspinit-metoden kaldes

  • du kan tilsidesætte denne metode.

_jspService-metoden kaldes

  • når anmodninger fremsættes, kalder containeren den genererede servlet ‘ s service(anmodning, svar) – metode, som skal kalde metoden _jspService(), der videregiver anmodnings-og svarparametrene.
  • vi bør ikke tilsidesætte _jspService() fra vores JSP side. Denne metode repræsenterer din sidekilde i Java-kodeform – det er op til containerens sidegeneratorer at implementere denne metode for hver enkelt JSP.
  • men JSP spec er fleksibel nok til at imødekomme enhver anmodning /svarprotokol, du ønsker at implementere ved at tilsidesætte denne metode; og for det behøver du kun at tilsidesætte _jspservice-metoden.

jspdestroy metode kaldes

  • kaldes før forekomsten af JSP servlet er ophævet og affald indsamlet

vigtige punkter at huske

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.