Einführung in den JSP-Lebenszyklus
In diesem Artikel werden wir den JSP-Lebenszyklus erörtern. Java-Serverseiten, eine serverseitige Technologie, die die Verantwortung für die Verarbeitung auf dem Server übernimmt.
1. Wo brauchen wir JSP?
- Wenn Sie sich mit webbasierter Entwicklung beschäftigen und dynamische Websites erstellen, spielen JSPs eine wichtige Rolle, da das Rendern dynamisch erfolgt.
- JSPs arbeiten nur mit zugrunde liegendem HTML, der Hauptteil einer Seite besteht nur aus grundlegenden HTML-Markups, aber es gibt bestimmte Platzhalter, Parameter, Listenwerte und Iteratoren, die nur mit JSPs möglich sind. HTML gibt Ihnen nur eine statische Anzeige, während irgendwelche Auflösungen ausgeführt werden müssen Zur Laufzeit ist eine dynamische Verarbeitung erforderlich, sodass JSPs dort als Lösung angezeigt werden.
- JSP ermöglicht die Trennung von Content-Generierung und Content-Präsentation
Nehmen wir hier ein grundlegendes Beispiel, das Ihnen einen Eindruck von diesem dynamischen Rendering vermittelt.
Der Inhalt oder die Logik wird dynamisch gerendert und nur vom Back-End übergeben.
Lassen Sie uns nun fortfahren und den Lebenszyklus von JSPs verstehen und wie diese im Front-End gerendert werden, um dem Kunden eine lesbare oder vorbereitete Erfahrung zu bieten.
2. Lebenszyklus von JSP:
Es gibt bestimmte Phasen, in die dieser Zyklus unterteilt ist:
- Übersetzungsphase - In dieser Phase wird die JSP-Datei in die Servlet-Datei konvertiert.
- Kompilierungsphase - In dieser Phase wird die Servlet-Datei in eine Servlet-Klasse konvertiert.
- Laden der Klasse
- Instanziierung des Servlet-Objekts
- Der Servlet-Container ruft die Methode jspInit () zur Initialisierung auf
- Der Servlet-Container ruft den Befehl _jspService () auf, um die Anforderung zu verarbeiten
- Bereinigen Sie die JSP. Hier ruft der Servlet-Container die Methode jspDestroy () auf.
Lassen Sie uns nun die oben genannten Schritte ausführen, um ein klareres Bild zu erhalten -
Schritt 1
In der Übersetzungsphase übersetzt der Servlet-Container die JSP in ein Servlet, sodass die tagbasierte Codierung in Java eine entsprechende Form erhält, sodass Java Virtual Machine (JVM) dies verstehen kann (da die Sprache der Tags nicht verstanden wird). . Diese Übersetzung wird vom Server entweder zum Zeitpunkt der Bereitstellung der Webanwendung oder beim Erhalt der ersten Anforderung zur Ausführung von JSP durchgeführt.
Schritt 2
Jetzt ist die Zeit gekommen, den Quellcode zu kompilieren, dh den Servlet-Code in Java-Byte-Code umzuwandeln (Java-Byte-Code ist ein Befehlssatz für Java Virtual Machine).
Schritt 3
Die Servlet-Klasse, die aus der JSP-Quelle geladen wurde, wird jetzt in den Container geladen.
Schritt 4
Nach dem Laden einer Klassendatei durch den Webcontainer verwendet der JSP-Container jetzt einen Konstruktor ohne Argumente zum Erstellen einer Instanz der Servlet-Klasse. Sobald der Container die Objekte durch einen Aufruf der Methode jsplnit () initialisiert hat.
Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)
Schritt 5
Jetzt ist die Zeit für die Anforderungsverarbeitung gekommen. Hier werden die initialisierten JSP-äquivalenten Servlet-Objekte für die Verarbeitung der Client-Anforderungen verwendet. Die Methode _jspService () wird vom Webcontainer aufgerufen. Dieser Aufruf erfolgt über das Servlet-Objekt, das das HTTPServletRequest-Objekt und das HTTPServletResponse-Objekt für die jeweiligen Anforderungen und Antworten übergibt. Beachten Sie, dass es keine Möglichkeit gibt, die Methode _jspService () zu überschreiben.
Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)
Schritt 6
Der letzte Schritt heißt JSP-Bereinigung, JSP muss vom Container aus der Verwendung entfernt werden und die jspDestroy () -Methode wird ebenfalls verwendet. Diese Methode muss nur einmal aufgerufen werden. Es gibt eine Möglichkeit, diese Methode zu überschreiben. Dies kann in Fällen erfolgen, in denen wir eine benutzerdefinierte Aktion wie die Verbindungsfreigabe für Datenbanken usw. ausführen möchten.
public void jspDestory()
(
// snippet is placed here
)
Beispiel
Lassen Sie uns ein Anmeldeformular für unsere Beispielanwendung erstellen und wir werden JSP hier für bestimmte Inhalte verwenden.
<%@ 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
Im obigen Beispiel wird der darin platzierte Code dynamisch gerendert, wie wir bereits erwähnt haben. Sobald diese Anforderung gesendet wurde, wird sie vom Aktionscontroller empfangen, der im Grunde genommen eine Java-Klasse ist, die die Parameter enthält, die den in der angegebenen Namen entsprechen JSP-Datei.
Ein Servlet-Container erstellt ein modales Objekt, und auf den Inhalt kann in anderen JSPs verwiesen werden, indem auf diesen bestimmten Controller verwiesen wird.
Diese Art von MVC-basiertem Ansatz findet heutzutage einen Platz mit Technologien wie:
- Spring MVC
- Streben 2
- Servlets
Spring MVC und Struts 2 haben ihre spezifischen URIs eingeführt, um JSPs auf angepasste Weise zu verwenden, und sie führen auch verschiedene Arten von Tags ein, z. B. Autocomplete, Iterator, Liste usw.
So findet JSP aufgrund ihrer Flexibilität in vielen Frameworks einen idealen Platz.
Fazit
- Daher haben wir erfahren, dass dynamische Websites ihr Frontend über JSPs rendern lassen, während statische Seiten direkt in HTML gestellt werden können, da sie von nun an keine Daten- / Inhaltsmanipulationen mehr benötigen.
- Moderne Technologien sind mit JSPs kompatibel und werden von streben- und federähnlichen Frameworks verwendet, die in großen Anwendungen im Zusammenhang mit Bankgeschäften, SCM, Einzelhandelsgeschäften usw. einen Platz finden.
- Kompatibel mit AJAX erfordert dynamisches Rendering.
- Eine Anwendung kann nicht vom Typ einzelne Seite sein, da jedes Mal eine Seite vom Backend geladen werden muss.
- Kacheln können für Basislayoutformate in Streben und Federn verwendet werden, und was wir immer wieder rendern müssen, ist nur der Körper.
- Letztendlich werden Codes am Frontend in HTML-Äquivalente konvertiert.
- JSPs unterscheiden das Konzept der Inhaltspräsentation und Inhaltserzeugung.
- Interceptors werden von verschiedenen Frameworks bereitgestellt, die den Entwicklern das Leben erleichtern, wie Hilfsprogramme in Struts, die zum Hochladen von Dateien usw. verwendet werden.
Empfohlene Artikel
Dies war ein Leitfaden für den JSP-Lebenszyklus. Hier haben wir die Einführung, die Schritte und das Beispiel des JSP-Lebenszyklus besprochen. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -
- JSP gegen ASP
- AJAX Interview Fragen
- Was ist MVC?
- JSP gegen Servlet
- Iteratoren in C #