Mise en œuvre des serveurs d application



Documents pareils
Mise en œuvre des serveurs d application

JavaServer Pages (JSP)

Web Tier : déploiement de servlets

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Programmation Internet Cours 4

Architecture Orientée Service, JSON et API REST

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Formation HTML / CSS. ar dionoea

Les architectures 3-tiers Partie I : les applications WEB

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Programmation Web. Madalina Croitoru IUT Montpellier

STID 2ème année : TP Web/PHP

Gestion Électronique de Documents et XML. Master 2 TSM

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Groupe Eyrolles, 2005, ISBN :

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Aspects techniques : guide d interfaçage SSO

Mysql avec EasyPhp. 1 er mars 2006

CREATION d UN SITE WEB (INTRODUCTION)

Application Web et J2EE

Les outils de création de sites web

Documentation CAS à destination des éditeurs

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Module BD et sites WEB

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

TP JAVASCRIPT OMI4 TP5 SRC

HTML. Notions générales

Architectures client/serveur

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

WebSSO, synchronisation et contrôle des accès via LDAP

< Atelier 1 /> Démarrer une application web

Projet Java EE Approfondi

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Les services usuels de l Internet

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Best Practices : Utilisation des APIs de Lotus Web Content Management

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Formation : WEbMaster

Package Java.util Classe générique

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Bernard Lecomte. Débuter avec HTML

Séance d ED n 5 : HTML et JavaScript

Formulaire pour envoyer un mail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Sana Sellami. Licence Professionnelle SIL

Présentation du Framework BootstrapTwitter

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Master d Informatique Corrigé du partiel novembre 2010

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

SYSTÈMES D INFORMATIONS

4. SERVICES WEB REST 46

SUPPORT DE COURS / HTML

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

Le développement d applications Web

Initiation à html et à la création d'un site web

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Programmer en JAVA. par Tama

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Compte Rendu d intégration d application

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Programmation Web TP1 - HTML

SII Stage d informatique pour l ingénieur

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

Introduction au langage C

Devenez un véritable développeur web en 3 mois!

Développement des Systèmes d Information

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Document Object Model (DOM)

Java Licence Professionnelle CISII,

Programmation avec des objets : Cours 7. Menu du jour

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Alfstore workflow framework Spécification technique

Premiers Pas en Programmation Objet : les Classes et les Objets

DOM - Document Object Model

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Catalogue des Formations Techniques

Notice d accessibilité HTML, CSS et JavaScript

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Introduction à HTTP. Chapitre HTTP 0.9

Module : programmation site Web dynamique Naviguer entre les pages via site map

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Transcription:

Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/62

Ces transparents, ainsi que les énoncés des TDs, seront disponibles à l adresse : http://www.loria.fr/~burel/empty_cours.html Master 1 IST-IE : Mise en œuvre des serveurs d application 2/62

Troisième partie III Introduction à JSP Master 1 IST-IE : Mise en œuvre des serveurs d application 3/62

Rappels des généralités Plan Rappels des généralités Rappels sur HTML Historique Contenu Balises disponibles (liste non exhaustive) JSP Servlets et JSP Contenu Application : création d un site Master 1 IST-IE : Mise en œuvre des serveurs d application 4/62

Rappels des généralités Pages JSP permet de créer des pages HTML dynamiques insertion de bouts de code java dans des pages HTML code exécuté sur le serveur ( javascript) : création d un servlet correspondant Master 1 IST-IE : Mise en œuvre des serveurs d application 5/62

Rappels des généralités Exemple de page JSP <%@ page language="java" %> <html> <head> <title>exemple</title> </head> <body> <% int x = 2; %> <h1>valeur initiale</h1> <p><var>x</var> vaut initialement <%=x%>.</p> <h1>changement de valeur</h1> <% x = x + 1; %> <p><var>x</var> vaut maintenant <%=x%>.</p> </body> </html> Master 1 IST-IE : Mise en œuvre des serveurs d application 6/62

Rappels des généralités Résultat Master 1 IST-IE : Mise en œuvre des serveurs d application 7/62

Rappels sur HTML Plan Rappels des généralités Rappels sur HTML Historique Contenu Balises disponibles (liste non exhaustive) JSP Servlets et JSP Contenu Application : création d un site Master 1 IST-IE : Mise en œuvre des serveurs d application 8/62

Rappels sur HTML Historique Naissance Langage créé par le CERN en 1990, pour échanger des informations (hyper)textuelles Compromis entre manipulation par la machine et lisibilité par les humains Standardisé en 1995 pour la première fois (W3C) Master 1 IST-IE : Mise en œuvre des serveurs d application 9/62

Rappels sur HTML Historique Évolution À partir de 2000, passage à XML : généralisation de HTML à toute sorte de grammaires changements notoires: minuscules obligatoires, obligation d avoir des balises correctement fermées <clef argument="chaine">...</clef> ou <clef argument="chaine" /> Autres exemples de XML : RSS, podcast, SVG, fichiers de configuration des applications J2EE Avantage : pas besoin d écrire un parser spécifique Master 1 IST-IE : Mise en œuvre des serveurs d application 10/62

Rappels sur HTML Contenu Contenu d une page (X)HTML <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"> <head> <!-- Ceci est un commentaire --> <!-- Entête (titre, styles, meta-infos) -->... </head> <body> <!-- Contenu de la page -->... </body> </html> Master 1 IST-IE : Mise en œuvre des serveurs d application 11/62

Rappels sur HTML Contenu Entête <head> <meta name="info" content="contenu" /> <link rel="relation" type="format" href="place"/> <title>titre</titre> <style type="format"> <!-- Style pour le rendu -->... </style> <script type="format"> <!-- Ex: javascript -->... </script> <base href="adresse" /> </head> Master 1 IST-IE : Mise en œuvre des serveurs d application 12/62

Rappels sur HTML Balises disponibles (liste non exhaustive) Corps <p>...</p> Paragraphe contenant du texte <p>ceci est un paragraphe.</p> Ceci est un paragraphe. <h1>...</h1> à <h6>...</h6> Titres de sections <h1>grand titre</h1> <h2>petit titre</h2> Grand titre Petit titre Master 1 IST-IE : Mise en œuvre des serveurs d application 13/62

Rappels sur HTML Balises disponibles (liste non exhaustive) <pre>...</pre> Texte brut <pre>une phrase sur deux lignes.</pre> Une phrase sur deux lignes. <fieldset>...</fieldset> Cadre <fieldset> <legend>légende</legend> <p>contenu</p> </fieldset> Légende Contenu <hr/> Ligne horizontale Master 1 IST-IE : Mise en œuvre des serveurs d application 14/62

Rappels sur HTML Balises disponibles (liste non exhaustive) <ul>...</ul>, <ol>...</ol> Listes sans numéro, avec numéro <ul> <li>chou</li> <li>carotte</li> <li>navet</li> </ul> <ol> <li>métro</li> <li>boulot</li> <li>dodo</li> </ol> chou carotte navet 1. métro 2. boulot 3. dodo Master 1 IST-IE : Mise en œuvre des serveurs d application 15/62

Rappels sur HTML Balises disponibles (liste non exhaustive) <table>...</table> Tableaux <table> <caption>légende</caption> <tr> <th> Titre 1 </th> <th> Titre 2 </th> </tr> <tr><td>cellule 1.1</td><td>Cellule 2.1</td></tr> <tr><td>cellule 1.2</td><td>Cellule 2.2</td></tr> <tr><td>cellule 1.3</td><td>Cellule 2.3</td></tr> </table> Légende Titre 1 Titre 2 Cellule 1.1 Cellule 2.1 Cellule 1.2 Cellule 2.2 Cellule 1.3 Cellule 2.3 Master 1 IST-IE : Mise en œuvre des serveurs d application 16/62

Rappels sur HTML Balises disponibles (liste non exhaustive) <form>...</form> Formulaires <form action="reponse.html" method="get"> <p> Entrez une valeur :<input name="param"/> </p> <button>soumettre</button> </form> Entrez une valeur : Soumettre Appelle la page reponse.html?param=contenu Master 1 IST-IE : Mise en œuvre des serveurs d application 17/62

Rappels sur HTML Balises disponibles (liste non exhaustive) Contenu des paragraphes, titres, cellules,... <a>...</a> Lien hypertexte <p> Ceci est un <a href="page.html">lien</a>. </p> Ceci est un lien. <br/> Retour à la ligne <p> Une ligne. <br/> Deux lignes. </p> Une ligne. Deux lignes. Master 1 IST-IE : Mise en œuvre des serveurs d application 18/62

Rappels sur HTML Balises disponibles (liste non exhaustive) <b>gras</b> <i>italique</i> <tt>espacement constant</tt> <big>grand</big> <small>petit</small> Ind<sub>ice</sub> Expo<sup>sant</sup> <del>supprimé</del> <ins>inséré</ins> Gras Italique Espacement constant Grand Petit Ind ice Expo sant Supprimé Inséré Master 1 IST-IE : Mise en œuvre des serveurs d application 19/62

Rappels sur HTML Balises disponibles (liste non exhaustive) <dfn>...</dfn> Définition <em>...</em> Emphase <strong>...</strong> Renforcement <code>...</code> Code source <q>...</q> Citation <samp>...</samp> Exemple <kbd>...</kbd> Entrée clavier <var>...</var> Variable <cite>...</cite> Citation <abbr>...</abbr> Abréviation <acronym>...</acronym> Acronyme Master 1 IST-IE : Mise en œuvre des serveurs d application 20/62

Rappels sur HTML Balises disponibles (liste non exhaustive) <img/> Image <img alt="description" src="logo_nu.jpg"/> <select>...</select> Liste à choix multiples <select> <optgroup label="groupe 1"> <option>item 1.1</option> <option>item 1.2</option> </optgroup> <option>item 2</option> </select> Item 1.1 Groupe 1 MMItem 1.1 MMItem 1.2 Item 2 Master 1 IST-IE : Mise en œuvre des serveurs d application 21/62

Rappels sur HTML Balises disponibles (liste non exhaustive) Entrée <input value="valeur" type="type"/> type résultat text Entrée valeur password Entrée ****** checkbox Entrée radio Entrée submit Entrée valeur reset Entrée valeur file Entrée Parcourir... hidden Entrée image button Entrée Entrée valeur Master 1 IST-IE : Mise en œuvre des serveurs d application 22/62

JSP Plan Rappels des généralités Rappels sur HTML Historique Contenu Balises disponibles (liste non exhaustive) JSP Servlets et JSP Contenu Application : création d un site Master 1 IST-IE : Mise en œuvre des serveurs d application 23/62

JSP Servlets et JSP Servlet Objet java permettant de traiter des requêtes HTTP Sous-classe de HttpServlet : public class HttpServlet { public void doget (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; } public void dopost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; Master 1 IST-IE : Mise en œuvre des serveurs d application 24/62

JSP Servlets et JSP public class ExempleServlet extends HttpServlet { public void doget (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nom = request.getparameter("nom"); response.setcontenttype("text/html"); response.setbuffersize(8192); PrintWriter out = response.getwriter(); out.println("<html><head><title>titre"); out.println("</title></head><body><p>"); out.println("bonjour " + nom + "!"); out.println("</p></body></html>"); } } Master 1 IST-IE : Mise en œuvre des serveurs d application 25/62

JSP Servlets et JSP Désavantages Assez éloigné des connaissances des concepteurs de sites Besoin de connaître java Une grande partie du code toujours pareil Master 1 IST-IE : Mise en œuvre des serveurs d application 26/62

JSP Servlets et JSP Pages JSP Écrire une page HTML avec la possibilité de rajouter du java Est ensuite transformé en un servlet qui gère les requêtes (En fait plus généralement permet de mélanger des parties statiques et dynamiques quel que soit leur type) Master 1 IST-IE : Mise en œuvre des serveurs d application 27/62

JSP Servlets et JSP <%@ page language="java" contenttype="text/html" %> <html> <head> <title>titre</title> </head> <body> <% String nom = request.getparameter("nom"); %> <p>bonjour <%=nom %></p> </body> </html> Master 1 IST-IE : Mise en œuvre des serveurs d application 28/62

JSP Servlets et JSP public void doget (HttpServletRequest request, HttpServletResponse response)... { PrintWriter out = response.getwriter(); response.setcontenttype("text/html"); out.println("<html>"); out.println(" <head>"); out.println(" <title>titre</title>"); out.println(" </head>"); out.println(" <body>"); String nom = request.getparameter("nom"); out.println(" <p>bonjour " + nom + "</p>"); out.println(" </body>"); out.println("</html>"); } Master 1 IST-IE : Mise en œuvre des serveurs d application 29/62

JSP Contenu Expressions et scripts <%=expression%> : Calcule expression puis l affiche Est transformé en out.print(expression) <% code %> : Exécute le code Ajoute code au servlet <%! declaration %> : ajoute le code declaration à la classe du servlet Exemple : <%! private String fonctionutile() {... } %> également redéfinition de jspinit() et jspdestroy() Master 1 IST-IE : Mise en œuvre des serveurs d application 30/62

JSP Contenu Directives JSP <%@... %> trois directives : page : information sur la page include : inclusion d autres pages JSP taglib : utilisation d extensions de JSP Master 1 IST-IE : Mise en œuvre des serveurs d application 31/62

JSP Contenu Directive page <%@ page language="java" contenttype="text/html; charset=iso-8859-1" pageencoding="iso-8859-1" import="java.util.*" %> language : langage utilisé pour les parties dynamiques contenttype : type du résultat, c est celui des parties statiques pageencoding : encodage des caractères dans la page JSP import : importation de classes java, pour ne pas avoir à donner leur nom complet dans la page (ex: Vector au lieu de java.util.vector) Master 1 IST-IE : Mise en œuvre des serveurs d application 32/62

JSP Contenu Directive include <%@ include file="nomdefichier" %> Permet d inclure le fichier nomdefichier dans la page Améliore maintenance : partie commune à plusieurs pages dans un seul fichier inclus dans ces pages Exemple : titre des pages, menu, etc. Ajoute de façon statique : recopie le contenu de nomdefichier tel quel action <jsp:include page="nomdefichier" /> qui ajoute de façon dynamique: nomdefichier est d abord transformé, puis inclus Master 1 IST-IE : Mise en œuvre des serveurs d application 33/62

JSP Contenu Directive taglib <%@ taglib prefix="prefixe" uri="adresse" %> prefix : préfixe utilisé dans les balises de l extension uri : adresse de la description de l extension Exemple : <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>... <c:if test="${!empty param.nom}"> Bonjour ${param.nom} </c:if> Master 1 IST-IE : Mise en œuvre des serveurs d application 34/62

JSP Contenu Actions JSP <jsp:include /> : inclusion de page <jsp:forward /> : transfert de page <jsp:param /> : passage de paramètre <jsp:usebean /> : utilisation de classe <jsp:setproperty /> : modification de propriété <jsp:getproperty /> : affichage de propriété Master 1 IST-IE : Mise en œuvre des serveurs d application 35/62

JSP Contenu Actions <jsp:include />, <jsp:forward />, <jsp:param /> <jsp:include page="nomdepage" /> Fait la requête de nomdepage, puis l inclut <jsp:forward page="nomdepage" /> Redirige la requête vers nomdepage Le reste du fichier JSP n est pas évalué <jsp:param name="nomparam" value="valeur" /> Permet de rajouter des paramètres en plus pour les requêtes de <jsp:include /> et <jsp:forward /> Master 1 IST-IE : Mise en œuvre des serveurs d application 36/62

JSP Contenu Exemple <jsp:include page="reponse.jsp"> <jsp:param name="titre" value="93" /> </jsp:include> inclut la page reponse.jsp?titre=93 Master 1 IST-IE : Mise en œuvre des serveurs d application 37/62

JSP Contenu Action <jsp:usebean /> <jsp:usebean id="var" class="nomdeclasse" scope="portee"/> Permet de créer un objet d une classe JavaBean id : nom de la variable où l objet est affecté class : nom de la classe scope : portée de l objet, (application, session, request, page) JavaBean ( EJB!) = classe java avec méthodes de la forme PropClass getpropriete (); void setpropriete (PropClass nouvellevaleur); qui définissent une propriété Master 1 IST-IE : Mise en œuvre des serveurs d application 38/62

JSP Contenu Action <jsp:setproperty /> Permet de modifier la propriété d un bean Appelle setpropriete(nouvellevaleur) <jsp:setproperty name="var" property="propriete" value="chaine"/> convertit chaine en PropClass modifie la propriété propriete du bean préalablement défini var avec cette valeur <jsp:setproperty name="var" property="propriete" param="parametre"/> idem, mais en utilisant un paramètre de la requête si param omis, utilise propriete Master 1 IST-IE : Mise en œuvre des serveurs d application 39/62

JSP Contenu Action <jsp:getproperty /> <jsp:getproperty name="var" property="propriete"/> Récupère et affiche la propriété propriete du bean var Autre syntaxe : ${var.propriete} Master 1 IST-IE : Mise en œuvre des serveurs d application 40/62

JSP Contenu Exemple d utilisation de JavaBean <jsp:usebean id="date" class="java.util.date" scope="page"/> <p>il est <jsp:getproperty name="date" property="hours"/> heures.</p> <jsp:setproperty name="date" property="time" value="${date.time + 86400000}" /> <p>demain à la même heure il sera ${date.hours} heures.</p> Master 1 IST-IE : Mise en œuvre des serveurs d application 41/62

Application : création d un site Plan Rappels des généralités Rappels sur HTML Historique Contenu Balises disponibles (liste non exhaustive) JSP Servlets et JSP Contenu Application : création d un site Master 1 IST-IE : Mise en œuvre des serveurs d application 42/62

Application : création d un site Site de la bibliothèque imaginaire On veut créer un site de gestion d une bibliothèque, avec la possibilité de: emprunter et rendre un livre consulter la liste des livres empruntés par quelqu un rechercher un livre par son titre Master 1 IST-IE : Mise en œuvre des serveurs d application 43/62

Application : création d un site Page d accueil Master 1 IST-IE : Mise en œuvre des serveurs d application 44/62

Application : création d un site Emprunts d un utilisateur Master 1 IST-IE : Mise en œuvre des serveurs d application 45/62

Application : création d un site Retour d un livre Master 1 IST-IE : Mise en œuvre des serveurs d application 46/62

Application : création d un site Page d accueil Master 1 IST-IE : Mise en œuvre des serveurs d application 47/62

Application : création d un site Recherche par titre Master 1 IST-IE : Mise en œuvre des serveurs d application 48/62

Application : création d un site Code de la page d accueil <%@ page language="java" contenttype="text/html; charset pageencoding="iso-8859-1"%> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>page d accueil</title></head> <body> <h2>consultation des livres empruntes</h2> <form action="emprunts.jsp"> <p>nom de l utilisateur <input name="nom" type="text"/></p> <button>rechercher</button> </form> <h2>recherche d ouvrage</h2>... Master 1 IST-IE : Mise en œuvre des serveurs d application 49/62

Application : création d un site Ajout d entête et de pied de page Inclusion de fichiers grâce à JSP Fichier entete.jspf : <%@ page language="java" pageencoding="iso-8859-1"%> <h1>site de la bibliothèque imaginaire</h1> Dans index.jsp :... <body> <%@ include file="entete.jspf" %>... Master 1 IST-IE : Mise en œuvre des serveurs d application 50/62

Application : création d un site Fichier pieddepage.jspf : <%@ page language="java" pageencoding="iso-8859-1" import="java.util.date" %> <hr/> <% Date d = new Date(); %> <p>nous sommes le <%=d.tolocalestring()%></p> Dans index.jsp :... <%@ include file="pieddepage.jspf" %> </body></html> Master 1 IST-IE : Mise en œuvre des serveurs d application 51/62

Application : création d un site Utilisation d un paramètre Dans la page emprunts.jsp <% String nomutil = request.getparameter("nom"); %>... <h2>livres empruntés par <%=nomutil%></h2> Remarque: possibilité d utiliser <h2>livres empruntés par ${param.nom}</h2> Master 1 IST-IE : Mise en œuvre des serveurs d application 53/62

Application : création d un site Affichage conditionnel Utilisation du if java Dans la page emprunts.jsp <% String nomutil = request.getparameter("nom"); if (nomutil == null) { %> <!-- Cette partie est affichée quand le paramètre nom n est pas donné --> <% } else { %> <!-- Cette partie est affichée quand le paramètre nom est donné --> <% } // fin du if %> Remarque : voir aussi <c:if...> de la bibliothèque de balises (taglib) core Master 1 IST-IE : Mise en œuvre des serveurs d application 55/62

Application : création d un site Redirection Dans la page emprunts.jsp... if (nomutil == null) { %> <!-- Pas de nom donné Retour à la page d accueil --> <jsp:forward page="index.jsp" /> <% } else { %>... Master 1 IST-IE : Mise en œuvre des serveurs d application 57/62

Application : création d un site Rappel: vecteurs et itérateurs classe java java.util.vector : sac d éléments Vector() : crée un nouveau vecteur vide void add(object o) : ajoute o dans le vecteur Iterator iterator() : retourne un itérateur sur le vecteur classe java java.util.iterator : permet de parcourir un ensemble d élément boolean hasnext() : retourne true s il y a encore des éléments à traiter Object next() : retourne le prochain élément à traiter Master 1 IST-IE : Mise en œuvre des serveurs d application 58/62

Application : création d un site Utilisation Iterator i = vecteur.iterator(); while ( i.hasnext() ) { Object o = i.next(); // traitement de o }; Master 1 IST-IE : Mise en œuvre des serveurs d application 60/62

Application : création d un site Création d une liste dynamique <%@ page import="java.util.*" %> <% /* code préalable permettant d obtenir un * vecteur v */ %> <ul> <% Iterator i = v.iterator; while ( i.hasnext() ) { Object o = i.next(); %> <li> <%=o%> </li> <% }; %> </ul> Master 1 IST-IE : Mise en œuvre des serveurs d application 62/62