Cours JSF/Java EE 30/11/2011
23 pages
Français

Cours JSF/Java EE 30/11/2011

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
23 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

  • cours - matière potentielle : jsf
Cours JSF/Java EE 30/11/2011 1 INTRODUCTION À JSF2 Adapté du cours de Richard Grin () Adaptation Michel Buffa (), UNSA 2012 Version Richard Grin 1.2 du 30/11/11 Remarque „ Ce support est une introduction à JSF 2.0 utilisé dans un cadre Java EE 6, avec un serveur d'applications du type de Glassfish, et CDI (Contexts and Dependency Injection) activé dans les projets.
  • message d'erreur dans la file d'attente des messages
  • bean „
  • jsf - page
  • servlet-name
  • messages d'erreur
  • page d'erreur
  • faces servlet
  • composants
  • composant

Sujets

Informations

Publié par
Nombre de lectures 225
Langue Français

Extrait











Cours JSF/Java EE 30/11/2011
Remarque
Ce support est une introduction à JSF 2.0
utilisé dans un cadre Java EE 6, avec un
serveur d’applications du type de Glassfish, et INTRODUCTION À JSF2
CDI (Contexts and Dependency Injection)
Adapté du cours de Richard Grin (grin@unice.fr) activé dans les projets.
Adaptation Michel Buffa (buffa@unice.fr), UNSA 2012
Version Richard Grin 1.2 du 30/11/11
21/10/99 Richard Grin JSF - page 2
Utilité de JSFArchitecture typique d’une application web
Créer des pages Web dynamiques avec des
composants construits sur le serveur
21/10/99 Richard Grin JSF - page 4
Services rendus par JSF (1/2) Services rendus par JSF (2/2)
Permet de bien séparer l’interface utilisateur, Internationalisation
la couche de persistance et les processus
Support d’Ajax sans programmation
métier
javascript (communication en arrière-plan et
Conversion des données (tout est texte dans mise à jour partielle de l’interface utilisateur)
l’interface utilisateur)
Fournit des composants standards pour
Validation des données saisies par l’utilisateur l’interface utilisateur, puissants et faciles à
utiliser
Automatisation de l’affichage des messages
d’erreur en cas de problèmes de conversion Possible d’ajouter ses propres composants
ou de validation
21/10/99 Richa.rd Grin JSF - page 5 21/10/99 Richard Grin JSF - page 6
1„















Cours JSF/Java EE 30/11/2011
Standards Page JSF
JSF 2.0 est intégré dans Java EE 6 Les pages JSF contiennent des balises qui
décrivent les composants qui représenteront JSF 2.0 peut (c’est conseillé) utiliser CDI
la page sur le serveur
(Contexts and Dependency Injection)
21/10/99 Richard Grin JSF - page 7 21/10/99 Richard Grin JSF - page 8
Une page JSF
Code XHTML qui contient des balises qui
décrivent les composants sur le serveur
Sera traduit en XHTML « pur » pour être envoyé
au client Web
Architecture des applications JSF
Contient des parties en EL : #{…}
Utilise souvent une (ou plusieurs) bibliothèque de
composants (PrimeFaces ou RichFaces par
21/10/99 Richard Grin JSF - page 9 21/10/99 Richard Grin JSF - page 10exemple)
Composants de l’architecture Répartition des tâches (1/2)
Les pages JSF sont utilisées pour l’interface Dans l’architecture des applications qui
avec l’utilisateur ; elles ne contiennent pas de utilisent JSF
traitements (pas de code Java ou autre code
des pages JSF
comme dans les pages JSP)
des backing beans
des EJB Les backing beans font l’interface entre les
des entités pages JSF et le reste de l’application
des classes Java ordinaires
Ces backing beans peuvent effectuer les
traitements liés directement à l’interface
utilisateur ; ils font appels à des EJB ou des
classes Java ordinaires pour effectuer les autres
21/10/99 Richard Grin JSF - page 11 traitements
2„











Cours JSF/Java EE 30/11/2011
Répartition des tâches (2/2) Backing bean
Souvent, mais pas obligatoirement, un backing
Les EJB sont chargés des traitements métier bean par page JSF
et des accès aux bases de données
Un backing bean fournit du code Java pour
Les accès aux bases de données utilisent JPA l’interface graphique
et donc les entités
21/10/99 Richard Grin JSF - page 14
Backing bean Container pour les JSF
Le traitement peut être exclusivement lié à
Pour qu’il sache traiter les pages JSF, le l’interface graphique (par exemple si un
serveur Web doit disposer d’un container JSFcomposant n’est visible que si l’utilisateur a
choisi une certaine valeur) ; dans ce cas le On peut utiliser pour cela un serveur
backing bean intervient seul d’applications du type de Glassfish ou
équivalentSinon le backing bean fait appel à des EJB ou
quelquefois à des classes Java ordinaires
Remarque importante : un EJB doit être
totalement indépendant de l’interface
graphique ; il exécute les processus métier ou
s’occupe de la persistance des données
21/10/99 Richard Grin JSF - page 15 21/10/99 Richard Grin JSF - page 16
Composants JSF sur le serveur
JSF utilise des composants côté serveur pour
construire la page Web
Par exemple, un composant java UIInputText Le cycle de vie
du serveur sera représenté par une balise
<INPUT> dans la page XHTML
Une page Web sera représentée par une vue,
UIViewRoot, hiérarchie de composants JSF qui
reflète la hiérarchie de balises HTML
21/10/99 Richard Grin JSF - page 17 21/10/99 Richard Grin JSF - page 18
3„










Cours JSF/Java EE 30/11/2011
Cycle de vie JSF 2 Le servlet « Faces »
Pour bien comprendre JSF il est indispensable Toutes les requêtes vers des pages « JSF »
de bien comprendre tout le processus qui se sont interceptées par un servlet défini dans le
déroule entre le remplissage d’un formulaire fichier web.xml de l’application Web
par l’utilisateur et la réponse du serveur sous la <servlet>
<servlet-name>Faces Servlet</servlet-name>forme de l’affichage d’une nouvelle page.
<servlet-class>
javax.faces.webapp.FacesServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
21/10/99 Richard Grin JSF - page 19 21/10/99 Richard Grin JSF - page 20
URL des pages JSF Codage - décodage
Les pages JSF sont traitées par le servlet parce Les pages HTML renvoyées par une
que le fichier web.xml contient une application JSF sont représentées par la vue,
configuration telle que celle-ci : arbre de composants Java
<servlet-mapping>
L’encodage est la génération d’une page <servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern> HTML à partir de l’arbre des composants
</servlet-mapping>
Le décodage est l’utilisation des valeurs
Le pattern peut aussi être de la forme renvoyées par un POST HTML pour donner
*.faces ou *.jsf des valeurs aux variables d’instance des
composants Java, et le lancement des actions
associées aux « UICommand » JSF (boutons
ou liens)
21/10/99 Richard Grin JSF - page 21 21/10/99 Richard Grin JSF - page 22
Cycle de vie
pas complètement
évident !
Le codage/décodage fait partie du cycle de
vie des pages JSF,
Le cycle de vie est composé de 6 phases,
Ces phases sont gérées par le servlet
« Faces » qui est activé lorsqu’une requête
demande une page JSF
21/10/99 Richard Grin JSF - page 23 21/10/99 Richard Grin JSF - page 24
4„












Cours JSF/Java EE 30/11/2011
La vue
Demande page HTML
Etudions tout d’abord le cas simple d’une Cette requête HTTP est interceptée par le
requête GET d’un client qui demande servlet Faces,
l’affichage d’une page JSF
La page HTML correspondant à la page JSF doit
être affichée à la suite de cette requête HTTP
La page HTML qui sera affichée est représentée
sur le serveur par une « vue »
Cette vue va être construite sur le serveur et
transformée sur le serveur en une page HTML
qui sera envoyée au client
21/10/99 Richard Grin JSF - page 25 21/10/99 Richard Grin JSF - page 26
Contenu de la vue Construction vue
Une vue formée des composants JSF est donc Cette vue est un arbre dont les éléments sont
construite sur le serveur (ou restaurée si elle des composants JSF qui sont sur le serveur
avait déjà été affichée) : (des instances de classes qui héritent de
phase « Restore View »UIComponent),
La vue sera conservée sur le serveur pour le Sa racine est de la classe UIViewRoot
cas où on en aurait encore besoin
21/10/99 Richard Grin JSF - page 27 21/10/99 Richard Grin JSF - page 28
Traitement d’un formulaireRendu de la page HTML
Nous allons cette fois-ci partir d’une requête Puisqu’il n’y a pas de données ou
HTTP générée à partir d’une page HTML qui d’événements à traiter, la vue est
contient un formulaireimmédiatement rendue : le code HTML est
construit à partir des composants de la vue et L’utilisateur a saisi des valeurs dans ce
envoyé au client : formulaire
phase « Render Response »
Ces valeurs sont passées comme des
paramètres de la requête HTTP ; par exemple,
http://machine/page.xhtml?nom=bibi&preno
m=bob
si la requête est une requête GET, ou dans le
corps d’un POST
21/10/99 Richard Grin JSF - page 29 21/10/99 Richard Grin JSF - page 30
5„



  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents