Articles

JSP livscykelhändelser förklarade

JSP är faktiskt servlets, som du redan har sett. Behållaren konverterar alla JSP-filer till servlets innan de körs. JSPs ger bara ett enkelt sätt att skapa komponenter som innehåller icke-java-kod.

när en JSP-sida har skapats och distribuerats kommer behållaren att göra några livscykelhändelser, vilket också inkluderar att ringa några av dess metoder som liknar servlet livscykelhändelser.

  1. JSP sida översättning (Validering, Översättning, sammanställning faser)
  2. Lastklass
  3. Instantiate
  4. jspinit metod kallas
  5. _jspservice metod kallas
  6. jspdestroy metod kallas

JSP page translation (Validering, Översättning, kompileringsfaser)

validering utförs före översättning. Syntaxkontroll sker och alla referenser till taggbibliotek, åtgärder och El-funktioner i JSP valideras för att säkerställa att de finns och är tillgängliga för sidan, och om det finns några problem uppstår ett fel och förhindrar att översättningsprocessen fortsätter.

före validering konverteras JSP-sidan till en XML-vy och denna xml is-vy valideras och översätts sedan.

Initial JSP ingångssida översätts till servlet källkod. Medan du gör det kommer det att skriva ut uttalandena för var och en av dina icke java-rader i JSP. Denna genererade servlet bör implementera HttpJspPage eller dess överordnade JspPage baserat på om miljön är HTTP-baserad eller inte. Relaterad blogg: angular training i Chennai

  • en leverantör har vanligtvis en specialiserad JSP-basservlet, som utökar och implementerar alla nödvändiga klasser eller gränssnitt. I Tomcat kallas detta org.Apache.jaspis.Runtime.HttpJspBase. HttpJspBase utökar HttpServlet och GenericServlet, och implementerar HttpJspPage, JspPage, Serializable, Servlet, ServletConfig.

Servlet-källkoden sammanställs sedan i en servlet-klassfil.

utgångar

  • det finns två utgångar inom översättningsfasen.
  • den första är en tillfällig utgång: en Java-källfil för en servlet.
  • den andra är den kompilerade klassfilen från servlet-källan.
  • klassfilen behålls för framtida bruk, och de flesta JSP-behållare kan behålla eller ge dig ett alternativ där du kan behålla servlet-källan för felsökningsändamål.
  • i Tomcat kommer den genererade servlet Java-källan och kompilerade klassen under JSP-översättning som standard att hållas i vilken katalog <Tomcat – Installation-katalog>/work/Catalina/localhost/<context-katalog>/org/apache/jsp.

Timing

  • även om en JSP-behållare har diskretion när översättningen sker, kompileras JSP som standard (i de flesta fall) till en servlet och laddas sedan första gången den öppnas.
  • detta kan orsaka en liten fördröjning för den första begäran, men det kommer inte att bli någon försening i efterföljande förfrågningar.
  • i vissa applikationsservrar kan du också förkompilera JSPs innan du lägger till dem i burkar.

fel

  • om en sida inte översätter bör en HTTP-begäran för sidan ge upphov till en 500 (serverfel) statuskod som kommuniceras tillbaka i HTTP-svaret.

Lastklass

  • den genererade servlet-klassen laddas med programmets klasslastare.

Instantiate

  • en instans av servlet-klassen skapas.
  • för varje servlet mapping deklaration av JSP i webben.xml (liknar servlets) skapas en ny instans utöver den vanliga JSP-filinstansen. Om jag har en JSP-sida i sammanhanget rot, och jag har också registrerat samma JSP-sida i webben.xml, jag kommer att ha två instanser av den JSP skapade.

jspinit-metoden kallas

  • du kan åsidosätta den här metoden.

_jspservice-metoden kallas

  • när förfrågningar görs anropar behållaren den genererade servlets tjänst(request, response) – metoden, som ska anropa metoden _jspService () och vidarebefordra begäran och svarsparametrarna.
  • vi bör inte åsidosätta _jspService () från vår JSP-sida. Den här metoden representerar din sidkälla i Java-kodform-det är upp till behållarens sidgeneratorer att implementera den här metoden för varje enskild JSP.
  • men JSP-specifikationen är tillräckligt flexibel för att tillgodose alla förfrågningar /svarsprotokoll du vill implementera genom att åsidosätta denna metod; och för det behöver du bara åsidosätta _jspservice-metoden.

jspdestroy-metoden kallas

  • anropas innan förekomsten av JSP-servlet upphävs och sopor samlas in

viktiga punkter att komma ihåg

Lämna ett svar

Din e-postadress kommer inte publiceras.