1.6 Les éléments action JSP - Free

Prologue. <?xml version="1.0" encoding="iso-8859-1"?> Élément Racine. <
document> ... Prologue et élément racine sont obligatoires. .... Corrigé de l'
exercice :.

Part of the document


JAVA ET JSP (Java Server Pages) [pic] Sommaire 1.1 Présentation 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 éléments 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 : 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 : 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
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 problème 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 éléments action JSP 69
1.6.1 Présentation 69
1.6.2 L'élément 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 : 76
1.6.4.1 Description et syntaxe 76
1.6.5 L'élément getProperty : 76
1.6.5.1 Description et syntaxe 76
1.6.6 L'élément d'inclusion : 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 : 83
1.6.7.1 Description et syntaxe 83
1.6.7.2 Exemple 83
1.6.8 L'élément 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 : 88
1.6.10 L'élément racine : 89
1.7 Mini Application niveau 1 : le bureau de change 90
1.7.1 Cahier des charges 90
1.7.2 Ecrans 90
1.8 Travailler avec une Base de données 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 Corrigés 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 1 Présentation
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.
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. 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 [pic] 4 Rappel sur le protocole HTTP 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"| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | 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