Java Server Page -JSP- Master WISD AU: 2018/2019 Introduction JSP est une tec
Java Server Page -JSP- Master WISD AU: 2018/2019 Introduction JSP est une technologie qui permet d‟écrire très facilement des pages web dynamiques en insérant des portions du code Java dans une page HTML. Une page JSP permet de définir le design d‟une page (en HTML) et d‟y intégrer les données (grâce aux potion du code Java). Cette technologie favorise la séparation de la présentation et du contenu. Les pages JSP sont associées à une application web. Cette dernière est une collection de pages JSP, HTML, images, etc groupées ensemble. 24/12/2018 -A.Y- 2 JSP Exécution - Conditions Serveur Web HTTP (Apache, Netscape Enterprise Server …). Conteneur de JSP (Tomcat … ). JDK (Java Development Kit) contient un “Java Runtime Environment” (machine virtuelle), un compilateur … 24/12/2018 -A.Y- 3 Création de pages JSP Processus divisé en 3 phases: Création: Création du code source (code Java et HTML). Déploiement: Page JSP installée sur le serveur (serveur J2EE ou conteneur indépendant). Traduction et compilation: Traduction par le conteneur JSP du HTML et Java fichier source Java. Compilation du fichier en une classe Java. Exécution de la classe par le serveur (classe d'implémentation de la page JSP). 24/12/2018 -A.Y- 4 Cycle de vie de pages JSP 1°/ Chargement et instanciation: Le serveur localise la classe Java correspondant à la page JSP. Le serveur charge la page JSP dans la JVM La JVM crée une ou plusieurs instances: Immédiatement après le chargement ou Lorsque la première requête est reçue 2°/ Initialisation: Page JSP initialisée. 24/12/2018 -A.Y- 5 Cycle de vie de pages JSP 3°/ Traitement des requêtes: La page répond à une requête Une fois le traitement terminé, la réponse est retournée au client Cette réponse est constituée uniquement : du code HTML, des données. Aucun code Java n'est retourné au client. 4°/ Fin du cycle de vie: Le serveur cesse d'envoyer des requêtes à la page JSP. Une fois l'exécution de toutes les requêtes terminée, destruction de toutes les instances représentant la page. Il est possible d'ajouter à la page une méthode particulière qui sera appelée automatiquement à ce moment. 24/12/2018 -A.Y- 6 JSP Exécution - Servlets Programme exécuté sur le serveur Web Peut recevoir et émettre des requêtes HTTP Les JSP sont transformées en Servlet API Java “javax.servlet” et “javax.servlet.http” JVM Servelet Requête Serveur Navigateur du Client Application Web Réponse Conteneur de Servlets et JSP 24/12/2018 -A.Y- 7 24/12/2018 -A.Y- 8 JSP Exécution - Fonctionnement Envoie de la réponse Compile la servlet JSP Charge la servlet Serveur HTTP Servlet de page JSP Servelet du compilateur de page Génère la réponse Analyse les JSP Génère le source servelet Servelet JSP courante? Servelet JSP chargée? Réception de la requête Oui Oui Non Non Conteneur de JSP Intégration du code Java dans HTML On distingue 5 types de balises jsp: 1- Balise directive <%@ et %> 2- Balise expression <%= et %> 3- Balise déclaration <%! et %> 4- Balise scriplet <% et %> 5- Balise action <%jsp: et /> 24/12/2018 -A.Y- 9 Balise directive <%@ et %>: permet le contrôle de la structure de la page, l‟inclusion du contenu d‟un fichier (include), l‟importation d‟une classe java (import), … Transmettre au conteneur de JSP des informations de traitement spécifiques à une page. Exemple: <%@ page language= "java" %> <%@ page import "java.util.*", "java.sql.*" %> <%@ include file= "/entete.html" %> <%@ page session= "true|false" %> 24/12/2018 -A.Y- 10 Balise expression <%= et %>: cette balise permet d‟intégrer des valeurs issues d‟objet java dans le code html (ces valeurs sont converties en chaînes de caractères). Exemple: <%= new java.util.Date().toString() %> <%= n1+n2 %> <%= request.getRemoteHost() %> 24/12/2018 -A.Y- 11 Balise expression Les expressions sont utilisées pour renvoyer au client les valeurs d‟expressions Java. Toutes les expressions Java valides peuvent être employées Une expression peut contenir : une variable ou un appel de méthode une expression littérale (avec même des mots clés Java) une combinaison des trois Une expression ne doit pas comporter de « ; ». 24/12/2018 -A.Y- 12 Balise déclaration <%! et %>: permet de déclarer des variables ou des méthodes de classes à utiliser dans toute la page. Exemple: <%! String noms[]={"Mohamed", "Fatima", "Omar"}; private int i, n=10; private boolean estVide(String str) { return (str == null) || str.equals(""); } %> 24/12/2018 -A.Y- 13 Balise déclaration Les variables déclarées deviennent des variables d‟instance dans la classe d‟implémentation. Pas de protection contre les accès simultanés. Le serveur peut utiliser la même instance pour servir plusieurs requêtes. Les déclarations doivent se terminer par « ; ». Les déclarations sont présentes dans le code Java créé lors de la traduction de la page, mais elles n'existent pas dans le résultat renvoyé au client. Les variables déclarées dans une balise déclaration sont des variables d‟instance, accessibles dans toutes les scriptlets de la page. 24/12/2018 -A.Y- 14 Balise scriplet <% et %> : permet d‟incorporer et d‟intégrer une portion du code java dans la page. Il devient possible d‟insérer toutes les instructions de type test, boucle et affichage décrites par le langage java. Exemple: <% String host= request.getRemoteHost(); out.println("La machine utilisée est: " + host); %> 24/12/2018 -A.Y- 15 Balise scriplet Contiennent des instructions Java Apparaissent dans le code Java produit lors de la traduction des pages JSP. N‟apparaissent pas dans les réponses envoyées au client. Peuvent contenir n‟importe quel code Java valide. Doivent se terminer par « ; ». Les scriptlets ne peuvent pas être employées pour définir des méthodes. Les variables déclarées dans une scriptlet sont locales et ne sont visibles qu‟à l‟intérieur du bloc dans lequel elles sont définies. 24/12/2018 -A.Y- 16 Balise action <jsp: et />: permet la manipulation dynamique des composants java ou autres. Exemples: <jsp:forward page="relativeUrl" /> : chaînage JSP/Servlet <jsp: useBean id="nomBean" class="LaClasseBean" scope="session" /> : les javaBeans 24/12/2018 -A.Y- 17 Directives JSP : include Cette inclusion se fait au moment de la conversion. <%@ include file="unFichier.jsp" %> Tout le contenu du fichier externe est inclus comme s‟il était saisi directement dans la page JSP. Exemple: <%@ include file = "entetePage.html" %> <%@ include file = "corpsPage.jsp" %> <%@ include file = "piedPage.html" %> 24/12/2018 -A.Y- 18 Directives JSP : page Attributs de la directive page : import : importe un paquetage Java. Cette directive résulte en une instruction import dans la Servlet. <%@ page import="java.util.*, java.text.*" %> langage : définit le langage de script utilisé dans la page contentType : définit le type de contenu de la page générée <%@ page contentType="text/plain" %> errorPage : définit la page d‟erreurs à afficher si une exception se produit pendant l‟exécution. <%@ page errorPage="erreurs.jsp" %> isErrorPage : vaut true si la page est une erreur et false pour une page normale. <%@ page isErrorPage=false %> session, info, … 24/12/2018 -A.Y- 19 Directives JSP: taglib Cette directive permet de déclarer l'utilisation d'une bibliothèque de balises personnalisées (TLD: descripteur de bibliothèque de balises). TLD : document XML contenant des informations concernant les gestionnaires de balises disponibles dans une bibliothèque. Attributs de taglib: prefix : espace de noms pour les tags de la bibliothèque dans la JSP uri : identifie de façon unique la bibliothèque. Exemples : <%@taglib prefix="c" uri="WEB-INF/tld/core.tld" %> <%@ taglib uri="/WEB-INF/tld/testtaglib.tld" prefix="maTagLib" %> 24/12/2018 -A.Y- 20 Commentaires Les commentaires JSP ont leur propre syntaxe : <%-- Un commentaire JSP --%> commentaire non transmis au navigateur Les commentaires en langage HTML s‟écrivent comme suit : <!-- Commentaire HTML --> commentaire transmis au navigateur client Les commentaires Java demeurent valides au sein des scriptlets. // Un commentaire java /* Un autre commentaire java */ 24/12/2018 -A.Y- 21 Gestion des erreurs Contrôler la gestion des erreurs pendant l'exécution de l'application WEB. Les erreurs sont déclenchées par l'intermédiaire des exceptions et transmises à une page d'erreur. La définition de la page d'erreur se fait par la directive page et l'attribut errorPage. Exemple: <%@ page errorPage="pageErreur.jsp" %> ... code JSP lançant l‟erreur (exception) Une page JSP est définie comme une page erreur par l'attribut isErrorPage de la directive page. Exemple: <%@ page isErrorPage=true %> ... code JSP traitant l'exception 24/12/2018 -A.Y- 22 Gestion des erreurs L'objet implicite exception (Exception) permet de manipuler l'exception lancée. Cet objet est accessible dans les pages d‟erreurs. Référence à l‟objet java.lang.Throwable qui a causé l‟utilisation de la page. L‟objet exception n'est utilisable que dans les balises Scriplet et Expression. La page erreur doit être obligatoirement une page JSP. exception.getMessage(): retourne le message d'erreur décrivant l'exception (la cause de l‟erreur). exception.printStackTrace(): retourne la liste des appels des méthodes ayant conduit à l'exception. 24/12/2018 -A.Y- 23 Objets Implicites Les objets implicites sont accessibles sans déclaration ou initialisation. Ils sont accessibles dans les scriptlets et dans les expressions. Ces objets sont les objets présents dans la méthode service(…) de la Servlet. Requête et réponse : uploads/S4/ pres-java-jsp.pdf
Documents similaires










-
29
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 19, 2021
- Catégorie Law / Droit
- Langue French
- Taille du fichier 0.3474MB