Vous êtes sur la page 1sur 12

JSP Présentation - Modèle

 Demande de fichier JSP


JSP Présentation – Syntaxe (1)
 Exemple de code dans une page HTML
<html>
<body>
<% String visitor = request.getParameter("name");
if (visitor == null) visitor = " World"; %>
Hello, <%= visitor %>!
</body>
</html>
 Affichage
“Hello, World !” pour une requête http://serveur.fr/helloScript.jsp
“Hello, Java !” pour une requête http://serveur.fr/helloScript.jsp?name=Java
JSP Présentation – Syntaxe (2)
 Les Balises:
 Les Directives
Pour transmettre au conteneur de JSP des informations
de traitement spécifiques à une page

 Les éléments scripts


Code JAVA compilé par le serveur Web

 Les Commentaires
Pour ajouter du texte explicatif à une page JSP

 Les actions
Elles permettent de réaliser plusieurs comportements
différents (appel Applet, Servlet, JavaBean…)
JSP Présentation - Implémentation
 Séparation de la présentation et de
l’implémentation

Présentation Implantation

Balises des JSP HTML Balises Composants Java


et style HTML JSP Servlets
personnalisées Java Bean
Classes …
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 …
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
Application Web
GET http://www/servlets/HelloWord
Conteneur de Servlets

Requête Servelet
HelloWord
Réponse
JVM
Client
<HTML>….<HelloWord></b></body></html>
(Navigateur)
Serveur

 API Java “javax.servlet” et


“javax.servlet.http”
JSP Exécution - Fonctionnement
Réception de la requête Serveur HTTP
Conteneur de JSP

Servelet du compilateur de page


Servelet JSP courante? Analyse les
Non JSP
Oui

Servelet JSP chargée? Génère le source de


la servelet
Oui Non
Charge la Compile la
servlet servlet JSP

Servlet de page JSP


Génère la
réponse

Envoie de la réponse
JSP Exécution – Fonctionnement (Étape 1)

 client  serveur + moteur

2 façons:

- le client charge une URL http:// www. univ-mlv. fr/ prog. Jsp
 le navigateur construit une commande HTTP GET

GET /prog. jsp HTTP/ 1.1

- le client saisit des informations dans un formulaire et clique sur envoi


 le navigateur construit une commande HTTP POST
avec les données du formulaire (chaîne de caractères)

POST /prog. jsp HTTP/ 1.1

Nom= Jourdan&Prenom= Cedric


JSP Exécution – Fonctionnement (Étape 2)

 serveur + moteur  JSP

Le "moteur":
- à la 1ère invocation, crée une classe, la compile et l' instancie.
Si la classe existe déjà, et elles aussi récente que la page HTML, on l’utilise.
- crée un thread
- invoque une méthode de la classe contenant le code à exécuter

La JSP:
- s'exécute sur le serveur Web

Conteneur Nom=Jourdan&Prenom=Cedric
Serveur
JSP Prog.jsp
HTTP
2

JVM
JSP Exécution – Fonctionnement (Étape 3&4)

 1) JSP  serveur + moteur  2) Serveur + moteur  Client

La JSP: Le serveur:
- produit son résultat - propage le résultat au client
dans une réponse HTTP

Réponse
HTML Réponse HTML
Serveur Conteneur Prog.jsp
HTTP JSP
4 3

Client JVM
(Navigateur)
Serveur Web
JSP Exécution – Mise en cache des sorties
 Fonctionnement HTTP

 Le client (Navigateur)  Le Serveur


1) réception de l’en-tête HTTP 1) envoie de l’en-tête HTTP
2) réception du corps de la réponse (informations, cookies…)
2) émission de la page HTML
JSP Exécution – Mise en cache des sorties (2)
 Problème du protocole HTTP avec JSP
- Envoie de l’en-tête HTTP avant d’avoir traité le code JSP
- On ne peut pas par exemple gérer les cookies avec JSP, car ils sont envoyés dans
l’en-tête

 Solution apportée par JSP


- Mise en cache des résultats du traitement des pages JSP
- On envoie la réponse au client une fois le code Java traite
- On peut ainsi modifier l’en-tête HTTP

 Caractéristiques du cache
- Par défaut la mémoire tampon est de 8Ko
- Un tampon par Servelet

Vous aimerez peut-être aussi