Serveurs web, servlets et JSP
Les JSP
serveur web/JSP v8 .doc_____H.ZINSOU___________________________________________________________________
H.ZINSOU_____________________________________________________________________
__
JSP page 1
Ch 8 java sur le serveur
Les JSP
1. PRÉSENTATION 2
1.1. Définition, place, principe de fonctionnement 2
1.2. 1ers scripts JSP 3
2. LES ÉLÉMENTS DES JSP 3
2.1. Les balises 3
2.2. Les objets implicites 6
2.3. Les tags 6
2.4. Les pages d'erreur 7
2.5. Utiliser les objets Java 7
2.6. La servlet générée 8
3. UTILISER UN JAVA BEAN DANS UN JSP 9
3.1. Qu'est-ce qu'un java bean 9
3.2. Un script JSP avec un bean d'accès aux données 9
3.2.1. Un exemple de script d'accès aux données sans java bean 9
3.2.2. Le même script, en utilisant un bean 10
3.3. Extension du modèle 11
Serveurs web, servlets et JSP
Les JSP
serveur web/JSP v8 .doc_____H.ZINSOU___________________________________________________________________
H.ZINSOU_____________________________________________________________________
__
JSP page 2
1. Présentation
1.1. Définition, place, principe de fonctionnement
Définition
- un langage simplifié pour créer des pages HTML à contenu
dynamique
- permet de placer des séquences de code java dans le code HTML
Place
par rapport aux servlets
- dans la servlet, on insère du code HTML dans un programme java (par
des commandes telles que out.println("<body>") )
- dans la page JSP, on insère du code java dans une page HTML (par
des balises telles que
<%= new Date( ) %>
o les servlets sont efficaces quand il y a de la logique à exécuter
o les JSP sont efficaces quand il y a un peu de logique dans
beaucoup de HTML
o on peut enchaîner servlet et JSP pour séparer les tâches
Principe de fonctionnement
- le script JSP (maPage.jsp) est appelé comme une page HTML statique (par
http://localhost:8080/MonAppli/maPage.jsp)
- une servlet est automatiquement générée et compilée à la 1ère exécution (placée dans le
répertoire jakarta-tomcat/work sur le serveur Tomcat)
Serveurs web, servlets et JSP
Les JSP
serveur web/JSP v8 .doc_____H.ZINSOU___________________________________________________________________
H.ZINSOU_____________________________________________________________________
__
JSP page 3
1.2. 1ers scripts JSP
Un JSP qui insère une donnée reçue en paramètre
<!-- BonjourParam.jsp -->
<HTML>
<HEAD>
<%!
String accueil = "Bienvenue à";
accueil += request.getParameter("nom");
%>
<TITLE>Page avec un paramètre reçu dans la requête</TITLE>
</HEAD>
<BODY>
<P ALIGN="CENTER"><FONT SIZE="5">
Bonjour<BR>
<%= accueil %><BR>
Bonne journée!!!
</FONT></P>
</BODY>
</HTML>
2. Les éléments des JSP
2.1. Les balises
Il y a 4 types de balises, plus les commentaires
les commentaires
<! un commentaire qui sera inséré dans la
page HTML générée -->
<% un commentaire qui ne sera pas inséré
dans la page HTML générée --%>
attention à ne pas oublier le % final dans le second cas
Les 4 balises correspondent à 4 fonctions et à 4 syntaxes
Serveurs web, servlets et JSP
Les JSP
serveur web/JSP v8 .doc_____H.ZINSOU___________________________________________________________________
H.ZINSOU_____________________________________________________________________
__
JSP page 4
- directives
elles donnent des instructions au générateur de code qui crée
la servlet
elles commencent par <%@
<%@ page … > définit la page:
utilisé par exemple dans <%@ language="java"
import="java.sql.*, java.util.* %>
<%@ include… > pour inclure une autre séquence JSP
avant compilation de la page
<%@ taglib … > pour la définition de bibliothèques de tags propriétaires (voir plus loin la
définition des tags)
- expressions
elles servent à insérer une séquence de texte variable dans le code HTML
par exemple, en utilisant l'attribut message défini au § précédent:
<%= message %>
ou en utilisant une méthode qui retourne un String:
<%= compte() %>
(ok aussi avec une méthode qui retourne un type primitif, ou un objet dans de cas
objet.toString() sera implicitement appelé)
ou en fabriquant un String:
<%= « le résultat est « + compte() %>
attention : pas de ; à la fin d’une expression
- scriptlets
pour insérer une séquence de code dans le corps de la servlet générée
par exemple
<% compteur++; %>
si la scriptlet doit afficher des informations, il faut le demander explicitement par
out.print(unTexte);
Serveurs web, servlets et JSP
Les JSP
serveur web/JSP v8 .doc_____H.ZINSOU___________________________________________________________________
H.ZINSOU_____________________________________________________________________
__
JSP page 5
les scriptlets accèdent aux objets implicites:
<%
String nomVisiteur = request.getParameter("nom");
if (nomVisteur != null) {
out.print("bienvenue " + nomVisiteur + "<br>");
}
%>
- déclarations
avec <% ! … %>
elles définissent des données et des méthodes accessibles partout dans le script
elles commencent par <%!
elles peuvent etre placées n'importe où dans la page (mais on peut conseiller de les regrouper
au début ou à la fin)
une donnée définie dans une déclaration définit un attribut (de la servlet générée)
une méthode définie dans une déclaration est accessible par les autres méthodes et par les
scriptlets
par exemple
<%!
String message = "bonjour ";
int compteur;
String compte() {
return("le compte est: " + compteur);
}
%>
- les variables message et compteur seront visibles par toutes les méthodes de la servlet
(c’est en fait un attribut de la servlet, partagé par tous les utilisateurs de celle-ci)
- la méthode compte() pourra être appelée par n’importe quelle autre méthode de la
servlet, ainsi que dans les expressions et dans les scriptlets
les méthodes déclarées ne voient pas les objets implicites; pour qu'ils soient visibles, ils
devront etre passés en paramètre (par un scriptlet):
<%!
void methode1(java.io.Writer out) throws java.io.IOException {
out.write("essai");
}
%>
<% methode1(out); %>
ou en utilisant les objets implicites
<%
String nomVisiteur = request.getParameter("nom");
If (nomVisteur != null) out.println("bienvenue " + nomVisiteur);
%>
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !