Articles

JSP life cycle Events explained

JSP ‘ s zijn eigenlijk servlets, zoals u al hebt gezien. De container zal alle JSP-bestanden te converteren naar servlets voordat ze uit te voeren. JSPs bieden gewoon een eenvoudige manier om componenten met niet-java-code te maken.

zodra een JSP-pagina is aangemaakt en geà mplementeerd, zal de container enkele levenscyclusgebeurtenissen uitvoeren, waaronder ook het aanroepen van een aantal van zijn methoden die vergelijkbaar zijn met servlet levenscyclusgebeurtenissen.

  1. JSP-paginavertaling (validatie, vertaling, compilatiefase)
  2. Belastingklasse
  3. Instantiate
  4. jspInit-methode wordt
  5. _jspService-methode wordt
  6. jspDestroy-methode wordt

JSP-paginavertaling (validatie, vertaling, compilatiefasen)

validatie wordt uitgevoerd vóór vertaling. Syntaxiscontrole gebeurt en alle verwijzingen naar tagbibliotheken, acties en EL-functies in de JSP worden gevalideerd om ervoor te zorgen dat ze bestaan en toegankelijk zijn voor de pagina, en als er problemen zijn, treedt er een fout op en voorkomt dat het vertaalproces wordt voortgezet.

vóór validatie wordt de JSP-pagina geconverteerd naar een XML-weergave en deze XML is-weergave wordt vervolgens gevalideerd en vertaald.

de initiële JSP-invoerpagina wordt vertaald naar servlet-broncode. Terwijl u dit doet, zal het de print statements schrijven voor elk van uw niet-java regels in de JSP. Deze gegenereerde servlet moet httpjsppage of zijn ouder jsppage implementeren op basis van of de omgeving HTTP gebaseerd is of niet. Gerelateerde blog: angular training in Chennai

  • een leverancier zal doorgaans een gespecialiseerde JSP-basisservlet hebben, die alle vereiste klassen of interfaces uitbreidt en implementeert. In Tomcat heet dit org.Apache.Jasper.runtime.HttpJspBase. HttpJspBase breidt HttpServlet en GenericServlet, en implementeert HttpJspPage, JspPage, Serialisable, Servlet, ServletConfig.

Servlet-broncode wordt vervolgens gecompileerd in een servlet-klassebestand.

Outputs

  • er zijn twee outputs binnen de vertaalfase.
  • de eerste is een interim-uitvoer: een Java-bronbestand voor een servlet.
  • het tweede is het gecompileerde klassebestand van de servlet-bron.
  • het class-bestand wordt bewaard voor toekomstig gebruik, en de meeste JSP-containers kunnen een optie behouden of u een optie geven waarmee u de servlet-bron kunt behouden voor foutopsporingsdoeleinden.
  • in Tomcat worden de gegenereerde Servlet Java bron en gecompileerde klasse tijdens JSP vertaling standaard bewaard in de map <Tomcat-installatie-map>/work/Catalina/localhost/<context – map>/org/apache / jsp.

Timing

  • hoewel een JSP-container discretie heeft over wanneer de vertaling plaatsvindt, wordt het JSP standaard (in de meeste gevallen) gecompileerd in een servlet en vervolgens geladen de eerste keer dat het wordt geopend.
  • dit kan een kleine vertraging veroorzaken voor het eerste verzoek, maar er zal geen vertraging zijn bij volgende verzoeken.
  • in bepaalde toepassingsservers kunt u ook JSPs precompileren voordat u ze toevoegt aan potten.

fouten

  • als een pagina niet kan vertalen, moet een HTTP-aanvraag voor de pagina aanleiding geven tot een 500 (serverfout) statuscode die wordt doorgegeven in het HTTP-antwoord.

belastingsklasse

  • de servlet-klasse die wordt gegenereerd, wordt geladen met behulp van de klassenlader van de toepassing.

Instantiate

  • een instantie van de servlet-klasse wordt gemaakt.
  • voor elke servlet-mapping-declaratie van het JSP in het web.xml (vergelijkbaar met servlets), een nieuwe instantie in aanvulling op de standaard JSP bestand instantie wordt gemaakt. Als ik een JSP pagina in de context root, en ik heb ook geregistreerd dezelfde JSP pagina in web.xml, Ik zal twee exemplaren van die JSP gemaakt.

jspinit methode wordt

  • u kunt deze methode overschrijven.

_jspService-methode wordt

  • wanneer verzoeken worden gedaan, roept de container de gegenereerde servlet ‘ s service(request, response) – methode aan, die de methode _jspService () zou moeten aanroepen, waarbij de verzoek-en responsparameters worden doorgegeven.
  • we moeten _jspService() niet overschrijven van onze JSP pagina. Deze methode vertegenwoordigt uw pagina bron in Java code vorm-het is aan de container pagina generators om de implementatie van deze methode voor elke individuele JSP.
  • de JSP-specificatie is echter flexibel genoeg om tegemoet te komen aan elk verzoek /antwoordprotocol dat u wilt implementeren door deze methode te overschrijven; en daarvoor alleen hoeft u de _jspservice-methode te overschrijven.

jspDestroy-methode wordt

  • aangeroepen voordat de instantie van de JSP-servlet wordt vernietigd en vuilnis wordt verzameld

belangrijke punten om te onthouden

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.