JAVA ET JSP (Java Server Pages) JAVA – JSP © Pascal Buguet Imprimé le 8 janvier

JAVA ET JSP (Java Server Pages) JAVA – JSP © Pascal Buguet Imprimé le 8 janvier 2023 Page 2 Sommaire 1.1 PRESENTATION __________________________________________ 5 1.1.1 JSP (JavaServer Page) __________________________________ 5 1.1.2 Fonctionnement interne _________________________________ 5 1.1.3 Configuration du cours __________________________________ 6 1.1.4 Rappel sur le protocole HTTP ____________________________ 7 1.1.4.1 Le protocole ______________________________________ 7 1.1.4.2 Les requêtes ______________________________________ 8 1.1.4.3 Les réponses ______________________________________ 9 1.1.4.4 La gestion de l'état ________________________________ 10 1.2 LES ELEMENTS DE BASE DE JSP _____________________________ 11 1.2.1 L'organisation d'une page JSP ___________________________ 11 1.2.1.1 Le modèle MVC (Model-View-Controller) _____________ 12 1.2.1.2 Le mélange de codes _______________________________ 13 1.2.1.3 Le code JSP______________________________________ 14 1.2.1.4 Les 2 versions de JSP ______________________________ 15 1.2.2 La directive de page : <%@ page %> __________________ 16 1.2.3 Le commentaire : <%-- --%> _________________________ 17 1.2.4 La déclaration : <%! %> ____________________________ 18 1.2.5 Le scriptlet : <% %> ________________________________ 19 1.2.6 L'expression : <%= %> _____________________________ 22 1.2.7 L'inclusion : <%@ include %> ________________________ 23 1.2.8 La directive de bibliothèque de balises (Taglib) _____________ 27 1.3 LES OBJETS IMPLICITES ___________________________________ 28 1.3.1 L'interface request (Correspond à la requête client) __________ 29 1.3.1.1 Définition et méthodes _____________________________ 29 1.3.1.2 Récupérer des informations provenant d'une autre page ___ 31 1.3.1.3 Récupérer des informations sur le client et le serveur _____ 33 1.3.1.4 Le navigateur du client _____________________________ 34 1.3.1.5 Récupérer toutes les en-têtes ________________________ 35 1.3.1.6 Récupérer toutes les variables d'une page html __________ 37 1.3.1.7 Faire du jspSelf en mode GET _______________________ 39 1.3.1.8 Faire du jspSelf en mode POST ______________________ 42 1.3.2 L'interface response (Correspond à la réponse envoyée au client) 43 1.3.2.1 Définition et méthodes _____________________________ 43 1.3.3 Les cookies __________________________________________ 44 1.3.3.1 Définition et méthodes _____________________________ 44 1.3.3.2 Exemple ________________________________________ 45 JAVA – JSP © Pascal Buguet Imprimé le 8 janvier 2023 Page 3 1.3.4 L'interface session ____________________________________ 49 1.3.4.1 Définition et méthodes _____________________________ 49 1.3.4.2 Exemple ________________________________________ 50 1.3.5 L'objet application (ServletContext) _______________________ 52 1.3.5.1 Définition et méthodes _____________________________ 52 1.3.5.2 Exemple ________________________________________ 53 1.3.6 L'objet out ___________________________________________ 55 1.3.7 L'objet config ________________________________________ 56 1.3.8 L'objet page _________________________________________ 57 1.3.9 L'objet pageContext ___________________________________ 58 1.3.10 L'objet exception ____________________________________ 59 1.4 LE PROBLEME DU BLOCAGE DES COOKIES _____________________ 63 1.4.1 Blocage des cookies et des sessions _______________________ 63 1.4.2 Réécriture d'URL _____________________________________ 64 1.5 LES JAVABEANS ________________________________________ 65 1.5.1 Présentation _________________________________________ 65 1.5.2 Structure syntaxique ___________________________________ 67 1.5.3 Stockage ____________________________________________ 68 1.6 LES ELEMENTS ACTION JSP ________________________________ 69 1.6.1 Présentation _________________________________________ 69 1.6.2 L'élément useBean : <jsp:useBean> ______________________ 70 1.6.2.1 Description et syntaxe______________________________ 70 1.6.2.2 Ecrans __________________________________________ 71 1.6.2.3 Scripts __________________________________________ 72 1.6.2.4 Passer toutes les valeurs en une seule fois ______________ 74 1.6.3 Bean et scope ________________________________________ 75 1.6.4 L'élément setProperty : <jsp:setProperty> _________________ 76 1.6.4.1 Description et syntaxe______________________________ 76 1.6.5 L'élément getProperty : <jsp:getProperty> _________________ 76 1.6.5.1 Description et syntaxe______________________________ 76 1.6.6 L'élément d'inclusion : <jsp:include> _____________________ 77 1.6.6.1 Description et syntaxe______________________________ 77 1.6.6.2 La page modèle du site _____________________________ 77 1.6.6.3 Inclure une page avec ou sans photo __________________ 79 1.6.7 L'élément de délégation : <jsp:forward>___________________ 83 1.6.7.1 Description et syntaxe______________________________ 83 1.6.7.2 Exemple ________________________________________ 83 1.6.8 L'élément plugin : <jsp:plugin> (Applet)___________________ 85 1.6.8.1 Description et syntaxe______________________________ 85 1.6.8.2 Exemple : le convertisseur Euros/Dollars_______________ 86 1.6.9 L'élément texte : <jsp:text> _____________________________ 88 1.6.10 L'élément racine : <jsp:root> _________________________ 89 1.7 MINI APPLICATION NIVEAU 1 : LE BUREAU DE CHANGE ___________ 90 JAVA – JSP © Pascal Buguet Imprimé le 8 janvier 2023 Page 4 1.7.1 Cahier des charges ____________________________________ 90 1.7.2 Ecrans ______________________________________________ 90 1.8 TRAVAILLER AVEC UNE BASE DE DONNEES ____________________ 92 1.8.1 Afficher des données d'une table via un scriptlet _____________ 92 1.8.2 Insérer dynamiquement un enregistrement _________________ 94 1.9 LA COMMUNICATION SERVLET-JSP-BEAN_____________________ 96 1.9.1 Objectif _____________________________________________ 96 1.9.2 Démarche ___________________________________________ 98 1.9.3 Scripts ______________________________________________ 99 1.10 MINI APPLICATION NIVEAU 2 : JSP, BEANS ET BD ______________ 106 1.10.1 Objectif, principes et démarche _______________________ 106 1.10.2 Ecrans ___________________________________________ 106 1.11 DIVERS ______________________________________________ 107 1.11.1 Importer ses propres classes _________________________ 107 1.11.2 Internationalisation ________________________________ 109 1.11.2.1 Objectif ______________________________________ 109 1.11.2.2 Le navigateur et la langue ________________________ 109 1.11.2.3 Premier script _________________________________ 110 1.11.2.4 Deuxième script _______________________________ 111 1.11.3 JSP et XML _______________________________________ 112 1.12 ANNEXES _____________________________________________ 113 1.12.1 Utilisation d'une archive personnelle dans un projet web ___ 113 1.12.2 Archiver un site WEB _______________________________ 113 1.12.3 Le code de l'applet EurosDollars ______________________ 114 1.13 CORRIGES DES EXERCICES ________________________________ 116 1.13.1 Testez Chrome ____________________________________ 116 1.13.2 Les cookies _______________________________________ 116 1.13.3 Gestion de panier avec un cookie ______________________ 117 1.13.4 Les sessions _______________________________________ 121 1.13.5 Corrigé Mini Application niveau 1 : le bureau de change ___ 122 1.13.5.1 Tableau de synthèse ____________________________ 122 1.13.5.2 Accueil ______________________________________ 122 1.13.5.3 Saisie client ___________________________________ 123 1.13.5.4 Calcul _______________________________________ 124 1.13.5.5 Déconnexion __________________________________ 124 1.13.6 Corrigé mini application niveau2 : BD _________________ 125 1.14 JSP ET MVC : LA BONNE PRATIQUE _________________________ 128 1.14.1.1 Insertion et suppression _________________________ 128 1.14.1.2 Affichage d'un enregistrement ____________________ 130 1.14.1.3 Affichage de tous les enregistrements ______________ 131 JAVA – JSP © Pascal Buguet Imprimé le 8 janvier 2023 Page 5 1.1 PRESENTATION 1.1.1 JSP (JavaServer Page) JSP est un générateur dynamique de pages html. Il est possible de faire en JSP ce qui est fait avec des servlets. L'écriture de code JSP est plus simple que l'écriture de servlets. Une page JSP est un squelette de page html, donc avec du code html, qui contient du code JSP et éventuellement du code Java (Scriptlet). Les JSP prendront en charge la partie présentation dans une application WEB à plusieurs niveaux. La partie accès aux bases de données sera prise en compte des beans et des EJB (Entreprise Java Beans). Les servlets prendront en charge la partie contrôle de l'application. 1.1.2 Fonctionnement interne La JSP, qui est stockée sur le serveur WEB – qui doit être aussi un serveur de servlets (Jakarta-Tomcat est un serveur http de servlets) - est compilée et une servlet est créée et chargée en mémoire. C'est elle qui exécute les traitements. Ces deux phases (compilation et traitement de la requête client) sont réalisées au sein du conteneur web qui lui-même contient un conteneur de servlets et un conteneur de JSP. Tant que la JSP ne change pas, la servlet générée demeure chargée au sein du conteneur jusqu'à l'arrêt du serveur, exactement comme pour une servlet. Elle se base sur les packages javax.servlet.jsp et javax.jsp.tagext. JAVA – JSP © Pascal Buguet Imprimé le 8 janvier 2023 Page 6 1.1.3 Configuration du cours  Serveur Apache Tomcat 5.5 Dans une configuration standard les codes sont stockés dans l'arborescence suivante : C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\NomDeLApplication\… Mais selon l'IDE que vous utilisez ceci peut changer. Avec NetBeans par exemple : Stockage des sources : Stockage des JSP, HTML, ... : C:\…\NomDeLApplication\web\jsp C:\…\NomDeLApplication\web\html Stockage des .java (servlets, classes, beans, applets) : C:\…\NomDeLApplication\src\java Stockage des exécutables : Stockage des JSP : C:\…\NomDeLApplication\build\web\jsp Stockage des .class (servlets, classes, beans, applets) : C:\…\NomDeLApplication\build\web\WEB-INF\classes Copie d'écran de l'arborescence JAVA – JSP © Pascal Buguet Imprimé le 8 janvier 2023 Page 7 1.1.4 Rappel sur le protocole HTTP 1.1.4.1 Le protocole Le protocole http fonctionne de la façon suivante : un client – un navigateur WEB principalement – envoie une requête à un serveur pour obtenir une ressource et le serveur renvoie une réponse, la ressource ou un message d'erreur. Une ressource peut être un simple fichier html ou un programme qui accède à une base de données et génère une réponse dynamique. Requête Réponse Demande d'une page JSP Envoi d'une page "html" COMPILATION EN .CLASS GENERATION DU CODE JAVA Génération dynamique de la page HTML JAVA – JSP © Pascal Buguet Imprimé le 8 janvier 2023 Page 8 1.1.4.2 Les requêtes La requête est envoyée par le navigateur à un serveur pour obtenir une ressource. Ces informations sont contenues dans l'URI (Uniform Resource Identifier) souvent dénommée URL (Uniform Resource Locator). L'URL contient le nom du protocole, le nom du serveur, éventuellement le port si celui-ci n'est pas le port TCP/IP standard ie le port 80, le chemin d'accè, le nom de la ressource et éventuellement des paires attribut=valeur précédées d'un ?. Exemple : http://127.0.0.1:8085/java/menu.html. Le navigateur envoie un message de requête qui est composé de 3 parties :  La ligne de requête Elle fournit la méthode, la ressource, éventuellement des paires attribut=valeur et la version du protocole. Par exemple GET /java/menuJsp.html http/1.0.  Les en-têtes de requête Les en-têtes fournissent des informations du type nom du Host, User-agent (Informations sur le navigateur), Accept (Types de format de fichiers acceptés par le navigateur),…. Cf plus loin.  Le corps de requête Le corps de requête existe dans le cas de requêtes POST (Des données sont transmises par ce biais). JAVA – JSP © Pascal Buguet Imprimé le 8 janvier 2023 Page 9 1.1.4.3 Les réponses Le message de réponse possède lui aussi une structure ternaire; il contient une ligne d'état, des en-têtes de réponse et éventuellement un corps de réponse.  La ligne de réponse Elle fournit la version uploads/Management/ java-et-jsp 1 .pdf

  • 15
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jan 07, 2023
  • Catégorie Management
  • Langue French
  • Taille du fichier 1.9139MB