Introduction au cycle de vie JSP
Dans cet article, nous aborderons le cycle de vie JSP. Pages serveur Java, une technologie côté serveur qui prend la responsabilité du traitement au niveau du serveur.
1. Où avons-nous besoin de JSP?
- Eh bien, si vous êtes dans le développement basé sur le Web et que nous voyons la construction de sites Web dynamiques, les JSP jouent un rôle vital car le rendu est fait de manière dynamique.
- Les JSP ne fonctionnent que sur le HTML sous-jacent, le corps d'une page est constitué uniquement de balises HTML de base mais il existe certains espaces réservés, paramètres, valeurs de liste, itérateurs qui ne sont réalisables qu'avec les JSP, le HTML ne vous donne un affichage statique que pendant les résolutions à faire au moment de l'exécution a besoin d'une gestion dynamique, donc les JSP apparaissent comme une solution.
- JSP permet de séparer la génération de contenu et la présentation de contenu
Prenons ici un exemple de base qui vous donnera une idée de ce rendu dynamique.
Le contenu ou la logique à l'intérieur est rendu dynamiquement et transmis uniquement par le back-end.
Maintenant, allons de l'avant et comprenons le cycle de vie des JSP et comment sont-ils réellement rendus à l'avant pour offrir au client une expérience lisible ou prête.
2. Cycle de vie de JSP:
Il y a certaines phases dans lesquelles ce cycle est divisé, défini comme suit -
- Phase de traduction - où le fichier JSP est converti en fichier servlet.
- Phase de compilation - où le fichier de servlet est converti en classe de servlet.
- Chargement de classe
- Instanciation de l'objet servlet
- Le conteneur de servlet appelle la méthode jspInit () pour l'initialisation
- Le conteneur de servlet appelle le _jspService () pour traiter la demande
- Nettoyage de la JSP, ici le conteneur de servlet appellera la méthode jspDestroy ().
Permet maintenant d'élaborer les étapes mentionnées ci-dessus pour avoir une image plus claire -
Étape 1
Dans la phase de traduction, le conteneur de servlet traduit le JSP en un servlet afin que le codage basé sur les balises obtienne une forme équivalente en java afin que Java Virtual Machine (JVM) puisse comprendre cela (car il ne comprendra pas le langage des balises) . Cette traduction est effectuée par le serveur soit au moment du déploiement de l'application Web, soit lorsque JSP reçoit sa première demande d'exécution.
Étape 2
Le moment est maintenant venu de compiler le code source, c'est-à-dire de convertir le code de servlet en code d'octet java (le code d'octet java est un jeu d'instructions pour la machine virtuelle java).
Étape 3
La classe de servlet chargée à partir de la source JSP sera désormais chargée dans le conteneur.
Étape 4
Après avoir chargé un fichier de classe par le conteneur Web, le conteneur JSP utilise désormais un constructeur sans argument pour créer une instance de la classe de servlet. Maintenant, une fois que le conteneur initialise les objets par une invocation de la méthode jsplnit ().
Public void jsplnit()
(
// servlet initialization related snipped to be placed here
)
Étape 5
Le moment est venu pour le traitement des demandes, ici les objets servlet équivalents JSP initialisés sont utilisés pour traiter les demandes des clients. La méthode _jspService () est invoquée par le conteneur Web. Cette invocation est effectuée un objet servlet passant objet HTTPServletRequest et objet HTTPServletResponse pour les demandes et réponses respectives. Notez qu'il n'y a aucune disposition pour remplacer la méthode _jspService ().
Public void _jspService( HttpServletRequest request, HttpServletResponse response)
(
//snipped is placed here
)
Étape 6
La dernière étape est appelée nettoyage JSP, JSP doit être retiré de l'utilisation par le conteneur et la méthode jspDestroy () est utilisée pour le même, cette méthode doit être invoquée une seule fois. Il existe une disposition pour remplacer cette méthode et cela peut être fait pour les cas où nous voulons effectuer notre action personnalisée comme la libération de la connexion pour la base de données, etc.
public void jspDestory()
(
// snippet is placed here
)
Exemple :
Créons un formulaire de connexion pour notre exemple d'application et nous utiliserons JSP pour certains rendus de contenu ici.
<%@ 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
Dans l'exemple ci-dessus, le code placé à l'intérieur est rendu dynamiquement comme nous l'avons mentionné précédemment, maintenant une fois que cette demande est soumise, elle sera reçue par le contrôleur d'action qui est essentiellement une classe Java qui contient les paramètres correspondant aux noms mentionnés dans le Fichier JSP.
Un conteneur de servlet crée un objet modal et le contenu peut être référencé dans d'autres JSP en se référant à ce contrôleur particulier.
Ce type d'approche basée sur MVC trouve aujourd'hui une place avec des technologies comme -
- Spring MVC
- Struts 2
- Servlets
Spring MVC et Struts 2 ont introduit leur URI spécifique pour utiliser les JSP de manière personnalisée et ils introduisent également différentes variétés de balises pour cela comme la saisie semi-automatique, l'itérateur, la liste, etc.
JSP trouve donc une place idéale dans de nombreux frameworks en raison de leur flexibilité.
Conclusion
- Par conséquent, nous avons appris que les sites Web dynamiques ont leur frontend rendu via JSP, tandis que les pages statiques peuvent être directement mises en HTML car elles ne nécessitent désormais aucune manipulation de données / contenu.
- Les technologies modernes sont compatibles avec les JSP et sont utilisées par des structures de type Struts et Spring qui trouvent une place dans les grandes applications liées à la banque, au SCM, aux magasins de détail, etc.
- Compatible avec les appels AJAX pour un rendu dynamique.
- Une application ne peut pas être de type page unique car chaque fois qu'une page doit être chargée depuis le backend.
- Les tuiles peuvent être utilisées pour les formats de mise en page de base dans les entretoises et les ressorts et ce que nous devons rendre encore et encore, c'est juste le corps.
- En fin de compte, les codes sont convertis en équivalent HTML à l'avant.
- Les JSP différencient le concept de présentation de contenu et de génération de contenu.
- Les intercepteurs sont fournis par divers cadres qui facilitent la vie des développeurs, comme des utilitaires dans les entretoises sont fournis pour les processus de téléchargement de fichiers, etc.
Articles recommandés
Cela a été un guide pour le cycle de vie JSP. Ici, nous avons discuté de l'introduction, des étapes et de l'exemple du cycle de vie JSP. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -
- JSP vs ASP
- Questions d'entretiens chez AJAX
- Qu'est-ce que MVC?
- JSP vs Servlet
- Itérateurs en C #