Inleiding tot JSP Life Cycle
In dit artikel bespreken we de JSP Life Cycle. Java-serverpagina's, een server-side technologie die de verantwoordelijkheid voor de verwerking op de server neemt.
1. Waar hebben we JSP nodig?
- Nou, als je van webgebaseerde ontwikkeling houdt en we zien dat we dynamische websites bouwen, dan spelen JSP's een cruciale rol omdat rendering dynamisch wordt uitgevoerd.
- JSP's werken alleen op onderliggende HTML, de hoofdtekst van een pagina bestaat alleen uit eenvoudige HTML-markeringen, maar er zijn bepaalde tijdelijke aanduidingen, parameters, lijstwaarden, iterators die alleen mogelijk zijn met JSP's, HTML geeft u alleen statische weergave terwijl nog te doen resoluties zijn tijdens runtime heeft een dynamische afhandeling nodig, dus JSP's verschijnen daar als een oplossing.
- JSP maakt scheiding van content generatie en content presentatie mogelijk
Laten we hier een eenvoudig voorbeeld nemen dat u een idee geeft van deze dynamische weergave.
De inhoud of logica binnenin wordt dynamisch weergegeven en wordt alleen door back-end doorgegeven.
Laten we nu verder gaan en de levenscyclus van JSP's begrijpen en hoe deze daadwerkelijk aan de voorkant worden weergegeven om een klant leesbare of kant-en-klare ervaring te bieden.
2. Levenscyclus van JSP:
Er zijn bepaalde fasen waarin deze cyclus is verdeeld, als volgt gedefinieerd -
- Vertaalfase - waar het JSP-bestand wordt omgezet in het servlet-bestand.
- Compilatiefase - waar servlet-bestanden worden geconverteerd naar servlet-klasse.
- Klasse laden
- Instantiatie van het servlet-object
- Servlet-container roept de methode jspInit () aan voor initialisatie
- Servlet-container roept de _jspService () aan voor het verwerken van de aanvraag
- Ruim de JSP op, hier roept de servlet-container de methode jspDestroy () aan.
Laten we nu de bovengenoemde stappen uitwerken om een duidelijker beeld te krijgen -
Stap 1
In de vertaalfase vertaalt de servletcontainer de JSP naar een servlet zodat de op tags gebaseerde codering een equivalente vorm krijgt in Java, zodat Java Virtual Machine (JVM) dat kan begrijpen (omdat het de taal van tags niet begrijpt) . Deze vertaling wordt uitgevoerd door de server op het moment van de implementatie van de webtoepassing of wanneer JSP zijn eerste uitvoeringsverzoek ontvangt.
Stap 2
Nu komt de tijd voor een compilatie van broncode, dat wil zeggen het omzetten van de servletcode in java-bytecode (java-bytecode is een instructieset voor de virtuele machine van Java).
Stap 3
De servlet-klasse die is geladen vanuit de JSP-bron wordt nu in de container geladen.
Stap 4
Na het laden van een klassebestand door de webcontainer, gebruikt de JSP-container nu een constructor zonder argumenten voor het maken van een instantie van de servletklasse. Zodra de container de objecten initialiseert door een aanroep van de methode jsplnit ().
Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)
Stap 5
Nu komt de tijd voor het verwerken van aanvragen, hier worden de geïnitialiseerde JSP-equivalente servlet-objecten gebruikt voor het verwerken van de clientaanvragen. De methode _jspService () wordt aangeroepen door de webcontainer. Deze aanroep wordt gedaan op het servletobject dat HTTPServletRequest-object en HTTPServletResponse-object passeert voor respectieve verzoeken en antwoorden. Merk op dat er geen voorziening is om de methode _jspService () te overschrijven.
Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)
Stap 6
De laatste stap wordt JSP-opschoning genoemd, JSP moet door de container buiten gebruik worden gesteld en de methode jspDestroy () wordt hiervoor gebruikt, deze methode wordt slechts eenmaal aangeroepen. Er is een voorziening om deze methode te overschrijven en dat kan worden gedaan voor gevallen waarin we onze aangepaste actie willen uitvoeren, zoals verbindingsrelease voor database, enz.
public void jspDestory()
(
// snippet is placed here
)
Voorbeeld:
Laten we een aanmeldingsformulier maken voor onze voorbeeldapplicatie en we zullen JSP gebruiken voor bepaalde inhoudweergave hier.
<%@ 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
In het bovenstaande voorbeeld wordt de code die erin wordt geplaatst dynamisch weergegeven, zoals we eerder al zeiden. Nu dit verzoek is ingediend, wordt het ontvangen door de actiecontroller, die in feite een Java-klasse is die de parameters bevat die overeenkomen met de namen die worden vermeld in de JSP-bestand.
Een servlet-container maakt een modaal object en naar inhoud kan in andere JSP's worden verwezen door naar deze specifieke controller te verwijzen.
Dit soort op MVC gebaseerde aanpak vindt tegenwoordig een plaats met technologieën zoals -
- Lente MVC
- Stutten 2
- servlets
Spring MVC en Struts 2 hebben hun specifieke URI geïntroduceerd om JSP's op een aangepaste manier te gebruiken en ze introduceren ook verschillende soorten tags zoals autocomplete, iterator, list, etc.
JSP vindt dus in veel kaders een ideale plek vanwege hun flexibiliteit.
Conclusie
- Daarom hebben we geleerd dat dynamische websites hun frontend weergeven via JSP's, terwijl statische pagina's direct in HTML kunnen worden gezet puur omdat ze voortaan geen gegevens- / inhoudmanipulaties nodig hebben.
- Moderne technologieën zijn compatibel met JSP's en worden gebruikt door stutten en veerachtige kaders die een plaats vinden in grote toepassingen met betrekking tot bankieren, SCM, winkels, etc.
- Compatibel met AJAX-oproepen voor dynamische weergave.
- Een toepassing kan niet van het type enkele pagina zijn, omdat elke keer dat de pagina uit de backend moet worden geladen.
- Tegels kunnen worden gebruikt voor basislay-outindelingen in stutten en veer en wat we steeds opnieuw moeten weergeven, is gewoon body.
- Uiteindelijk worden codes aan de voorkant geconverteerd naar HTML-equivalent.
- JSP's onderscheiden het concept van contentpresentatie en contentgeneratie.
- Onderscheppers worden geleverd door verschillende frameworks die het leven van de ontwikkelaars gemakkelijk maken, zoals hulpprogramma's in struts voor het uploaden van bestanden, enz.
Aanbevolen artikelen
Dit is een gids voor JSP Life Cycle geweest. Hier hebben we de introductie, stappen en het voorbeeld van de JSP Life Cycle besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -
- JSP versus ASP
- Vragen tijdens solliciteren bij AJAX
- Wat is MVC?
- JSP versus Servlet
- Iterators in C #