JAVA SERVER PAGES (JSP) - PowerPoint PPT Presentation

About This Presentation
Title:

JAVA SERVER PAGES (JSP)

Description:

Allons voir date.jsp... 1/4/10. IFT1020. 8. Pour d ployer la page JSP pour la date ... Allons voir GetTimeFromDateBean.java et heure.jsp. 1/4/10. IFT1020. 19. JavaBeans ... – PowerPoint PPT presentation

Number of Views:112
Avg rating:3.0/5.0
Slides: 27
Provided by: Facul253
Category:
Tags: java | jsp | pages | server | allons

less

Transcript and Presenter's Notes

Title: JAVA SERVER PAGES (JSP)


1
JAVA SERVER PAGES (JSP)
2
OBJECTIFS
  • Implanter des pages Web dynamiques utilisant la
    technologie des pages JavaServer
  • Apprendre les éléments syntaxiques des pages
    JavaServer
  • Être en mesure de structurer une application Web
    comme une séquence de pages JavaServer
  • Comprendre la relation entre les pages JavaServer
    et les servlets

3
CODES
  • date.jsp
  • GetTimeFromDate.java et heure.jsp

4
Contenu web dynamique
  • On peut utiliser les pages JavaServer (JSP) pour
    implanter des pages Web dynamiques
  • Pour utiliser les JSP, on a besoin dun serveur
    intégré avec un container JSP
  • Le serveur Apache Tomcat est gratuit

5
Serveur Tomcat au DIRO
  • NetBeans vient avec son propre serveur Tomcat.
  • Le DIRO a installé Tomcat/Jakarta sur le serveur
    web www2 port 8080.
  • Pour l'utiliser il faut suivre les étapes dictées
    par le groupe de support du DIRO
    http//www.iro.umontreal.ca/support/servlet.html
  • Il faut attendre au moins 4h, le temps que le
    serveur fasse une mise à jour du contexte xml de
    l'usager, avant de pouvoir lutiliser.
  • Vous pouvez aussi vous inspirer de la page de Guy
    Lapalme, http//www2.iro.umontreal.ca8080/lapalm
    e, où vous trouverez un exemple de date avec
    JavaBean.

6
Web Dynamique
  • Une page JavaServer contient des annotations HTML
    et des instructions Java.
  • Les instructions Java sont executées chaque fois
    que la page est livrée à un fureteur.
  • Une instruction pour insérer la date et lheure
    courantes dans une page web est lt new
    java.util.Date() gt

7
Allons voir date.jsp
8
Pour déployer la page JSP pour la date
  • Insérer le code de la page JSP dans un fichier en
    utilisant un éditeur de texte.
  • Déplacer le fichier dans le répertoire des
    applications web de votre engin JSP. Par
    exemple, si vous utilisez Tomcat, créer le
    répertoire C\jakarta-tomcat\webapps\ift1020
  • Placez le fichier date.jsp dans ce répertoire.
  • Démarrez le serveur web.
  • Chargez ladresse
  • http//localhost8080/ift1020/date.jsp
  • (http//localhost8081/date.jsp sous NetBeans)

9
Exécution du web dynamique
  • Le container JSP lit la page demandée et la
    transforme en page HTML
  • Les annotations HTML ne sont pas touchées
    (restent inchangées)
  • Les annotations JSP ( lt . . . gt ) sont
    traitées
  • Les expressions contenues dans les annotations
    JSP sont évaluées et converties en chaînes de
    caractères avec la méthode toString

10
Exécution du web dynamique
  • Les chaînes sont introduites dans la page HTML
  • Le document résultant ne contient que des
    annotations HTML
  • Le serveur web envoie le document au fureteur

11
Le container JSP réécrit la page demandée
12
Encapsulation de calculs dans des JavaBeans
  • La plupart des pages web sur le réseau
    nécessitent la contribution de deux types
    dexpert
  • Le programmeur qui comprend et développe les
    méthodes et les calculs pour afficher les
    résultats que la page doit afficher.
  • Un designer graphique qui détermine comment
    afficher les résultats.
  • Il est beaucoup mieux dans ce contexte de séparer
    le code Java des annotations HTML.
  • Tout calcul non trivial devrait être effectué
    dans une classe Java séparée.
  • On peut connecter un ou plusieurs JavaBeans à une
    page JSP.

13
JavaBeans
  • Un JavaBean est une classe Java
  • Il doit avoir un constructeur par défaut
  • Un JavaBean expose ses propriétés à travers des
    méthodes get et set
  • Les propriétés sont accédées et modifiées par des
    méthodes dont les noms suivent une convention

14
JavaBeans
  • Si le nom de la propriété est nomPropriete et
  • son type est Type
  • méthode daccès
  • Type getNomPropriete()
  • méthode de modification
  • void setNomPropriete(Type nouvelleValeur)
  • Une propriété Booléene utilise une convention
    différente
  • boolean isNomPropriete()
  • void setNomPropriete(boolean nouvelleValeur)
  • Par convention, le nom du bean se termine par
    Bean
  • Il ne faut faire aucune supposition quant à la
    représentation interne des données des beans

15
JavaBeans
  • Une page JSP donne un accès aux propriétés des
    JavaBeans sans avoir a écrire de code Java.
  • Pour utiliser un bean dans un page JSP, on
    utilise la directive jspuseBean
  • On donne un nom à lobjet et on spécifie le nom
    de la classe du bean
  • ltjspuseBean id toune" classTouneBean"/gt
  • Cette directive invoque le constructeur par
    défaut de la classe TouneBean
  • Il fabrique une instance dobjet dont le nom est
    toune

16
JavaBeans
  • Pour modifier une propriété dans le bean, on
    utilise la directive setProperty
  • ltjspsetProperty nametoune" propertytempo"
    value140"/gt
  • Pour lire une propriété dans le bean, on utilise
    la directive getProperty
  • ltjspgetProperty nametoune" propertytempo"/gt
  • Cette dernière retourne une chaîne de caractères
    qui est insérée dans la page HTML résultante

17
JavaBeans
  • Si par exemple on ne veut pas afficher la date
    mais juste lheure dans notre page date.jsp
  • On peut extraire lheure à laide de la méthode
    getTimeInstance de la classe DateFormat
  • On place ce code dans un bean

18
  • Allons voir GetTimeFromDateBean.java et heure.jsp

19
JavaBeans
  • Cest une bonne pratique de mettre les directives
    du bean au début du fichier JSP, avant les
    annotations HTML.
  • heure.jsp et GetTimeFromDateBean.java doivent
    être placés dans les répertoires appropriés
  • time.jsp dans c\Jakarta-tomcat\webapps\ift1020
  • GetTimeFromDateBean.java dans
  • c\Jakarta-tomcat\webapps\ift1020\WEB-INF\classes
  • Rappelons-nous que nous utilisons les JavaBeans
    pour séparer, dans nos présentations, les
    annotations HTML des calculs Java.

20
Lire des paramètres
  • On veut modifier notre page JSP pour tenir compte
    de la ville de lutilisateur
  • La librairie Java contient une classe TimeZone
  • Une zone de temps (la même pour toute les villes
    partageant le même fuseau horaire) est identifiée
    par une chaîne telle que
  • "America/Montreal"
  • Europe/Paris"
  • La méthode statique getAvailableIDs retourne un
    tableau de chaînes contenant tous les
    identificateurs de zones disponibles (ID)
  • La méthode statique getTimeZone retourne un objet
    de la classe TimeZone pour un ID donné
  • String zoneID "America/Montreal"
  • TimeZone zone TimeZone.getTimeZone(zoneID)

21
Lire des paramètres
  • Lutilisateur entre un ville comme Montreal
  • Notre bean va vérifier si la chaîne Montreal
    existe à la fin des zones de temps
  • La page JSP va formatter lheure courante pour
    cette zone de temps ou imprimer un message
    derreur comme quoi la ville na pas été trouvée
    ou nest pas disponible

22
Lire des paramètres
  • On a besoin dune forme HTML pour saisir lentrée
    de lutilisateur
  • Cette forme contient un champs de texte et un
    bouton pour soumettre la forme au serveur JSP

23
  • Allons voir heurelocale.html

24
Lire des paramètres
  • Quand un fureteur soumet une forme, il envoit au
    serveur web les noms et valeurs de tous les
    éléments de la forme
  • Le nom ici est ville
  • La valeur est le contenu du champs de texte
    correspondant
  • Lattribut action de la forme spécifie lURL du
    programme-serveur qui traite les éléments de la
    forme
  • Ici heurelocale.jsp
  • Dans une page JSP, on peut accéder aux données de
    la forme à travers lobjet prédéfini request
  • La méthode getParameter de la classe
    ServletRequest retourne la valeur dun élément à
    partir de son nom
  • Ici pour obtenir la ville tapée par lutilisateur
  • lt request.getParameter("ville")gt

25
Lire des paramètres
  • Pour fixer la propriété ville du
    HeureLocaleBean
  • ltjspsetProperty nameheure propertyville 
  • value"lt request.getParameter(\ville\")gt
    /gt
  • Quon peut aussi abréger avec le raccourci
  • ltjspsetProperty nameheure" propertyville"
    paramville"/gt

26
Allons voir heurelocale.jsp et HeureLocaleBean.jav
a
Write a Comment
User Comments (0)
About PowerShow.com