Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parRémy Germain Modifié depuis plus de 9 années
1
13/07/2015 JSF Java Server Faces Master 2 Pro GLR TER David Mihura Eric Le Merdy
2
JSF – Le Merdy Eric – Mihura David 13/07/2015 2 Plan Problématique Bref Historique Solution JSF Principes Mise en Œuvre des principes Quelques outils Bilan Conclusion
3
JSF – Le Merdy Eric – Mihura David 13/07/2015 3 Problématique Evolutions des besoins : Applications Web Problème : Comment concevoir une application Web de la même façon qu'une application traditionnelle Plusieurs solutions existent : WebForms : Microsoft Struts : Apache JSF : Sun
4
JSF – Le Merdy Eric – Mihura David 13/07/2015 4 Bref Historique Divergences d'approche selon les éditeurs. Plus grande séparation des concepts. SunOpen-sourceMicrosoft 1996 1997 ServletPHP,PERL,etc…ASP 1998JSP MVC ASP.NET, WebForms 2000Struts 2004JSF
5
13/07/2015JSF – Le Merdy Eric – Mihura David 5 Solution JSF Framework de création d’interfaces graphiques pour les applications Web
6
JSF – Le Merdy Eric – Mihura David 13/07/2015 6 Un concept en évolution Demande de spécification en Mai 2001 Plusieurs versions de spécifications Sun Final : 1.0 (début 2004) Maintenance : 1.1 (fin 2004) Plusieurs implémentations Référence (Sun) compatible 1.1 MyFaces (Apache) Ecruiser compatible 1.1 Une version 1.2 est en cours
7
JSF – Le Merdy Eric – Mihura David 13/07/2015 7 JSF et MVC Modèle : Couplé à JSF par un Bean géré. Vue : JSP + balises JSF Contrôleur : Servlet (FaceServlet) Règles définies dans un fichier xml
8
13/07/2015JSF – Le Merdy Eric – Mihura David 8 Principes
9
JSF – Le Merdy Eric – Mihura David 13/07/2015 9 Principes : composants graphiques Fonctionnalité du composant définie dans la classe du composant Plusieurs rendus pour un même composant Possibilité de définir des rendus EtiquetteRendu h:command_button h:command_linkhyperlink
10
JSF – Le Merdy Eric – Mihura David 13/07/2015 10 Principe : gérer des événements Chaque composant génère des événements (Events) Le serveur possède des écouteurs (Listeners) qui traitent les événements
11
JSF – Le Merdy Eric – Mihura David 13/07/2015 11 Principes : gestion de l’état des composants L’état peut changer chez le client entre 2 requêtes JSF prend en charge la gestion de cet état
12
JSF – Le Merdy Eric – Mihura David 13/07/2015 12 Exemple d’événements AccepterX EVENEMENT value_changed Gérer événement Changement état action Enregistrement formulaire
13
JSF – Le Merdy Eric – Mihura David 13/07/2015 13 Principes : validation et conversion Validation : Agit sur les composants graphiques (textfield) Personnalisation des validateurs (bornes, types, etc.) Lève des erreurs Conversion : Formatage des données Ex : 15000 → 15,000 Personnalisation possible
14
JSF – Le Merdy Eric – Mihura David 13/07/2015 14 Principes : navigation des pages Définitions de l’enchaînement des pages par un ensemble de règles de navigation
15
JSF – Le Merdy Eric – Mihura David 13/07/2015 15 Principes : internationalisation Possibilité de définir des locales Correspondance clé → valeur internationalisée useridLabel=Nom de l'Utilisateur passwordLabel=Mot de Passe loginSubmitLabel=Connectez useridLabel=Userid passwordLabel=Password loginSubmitLabel=Login
16
JSF – Le Merdy Eric – Mihura David 13/07/2015 16 Principes : balises JSF Rappels JSP: Page html qui peut contenir du code Java A l’exécution cette page est convertie en servlet Contient des balises JSP JSTL ( bibliothèque de balises standard pour java) JSF propose une bibliothèque de balises
17
13/07/2015JSF – Le Merdy Eric – Mihura David 17 Mise en Œuvre des principes
18
JSF – Le Merdy Eric – Mihura David 13/07/2015 18 Etude de cas Une page de login Un seul utilisateur valide 3 pages : Authentification Accueil (si réussie) Erreur (sinon)
19
JSF – Le Merdy Eric – Mihura David 13/07/2015 19 1. Le bean du support Dans un package jsfLogin
20
JSF – Le Merdy Eric – Mihura David 13/07/2015 20 2. Déclaration du bean dans face-config.xml LoginServer jsflogin.loginServer session
21
JSF – Le Merdy Eric – Mihura David 13/07/2015 21 3. Création des pages Import des librairies Ressources (internationalisation) Utilisation des balises
22
JSF – Le Merdy Eric – Mihura David 13/07/2015 22 4. Navigation des pages face-config.xml /login.jsp Handle case for successful login #{LoginServer.loginAction} success /success.jsp Handle case for unsuccessful login #{LoginServer.loginAction} failure /failure.jsp /success.jsp return /login.jsp return success failure /login.jsp /failure.jsp /success.jsp
23
13/07/2015JSF – Le Merdy Eric – Mihura David 23 Quelques outils Java Studio Creator Plugin Eclipse : JSF Studio D’autres outils
24
JSF – Le Merdy Eric – Mihura David 13/07/2015 24 Java Studio Creator (1/3) Produit Sun Licence propriétaire IDE complet Serveur J2EE intégré Basé sur NetBeans Développement « à la souris »
25
JSF – Le Merdy Eric – Mihura David 13/07/2015 25 Java Studio Creator (2/3) Points forts Développement rapide Tout est intégré Points faibles Moins de maîtrise sur le code généré Entièrement Sun (forte dépendance) Produit jeune Manque de robustesse
26
JSF – Le Merdy Eric – Mihura David 13/07/2015 26 Java Studio Creator (3/3)
27
JSF – Le Merdy Eric – Mihura David 13/07/2015 27 Eclipse : JSF Studio (1/3) Plug-in propriétaire pour Eclipse Gère plusieurs serveurs d’application (Tomcat, JBoss, etc …) Perspective JSF Template de projets Editeur graphique pour le face-config Edition assistée de code JSP
28
JSF – Le Merdy Eric – Mihura David 13/07/2015 28 Eclipse : JSF Studio (2/3) Points forts: Puissance d’Eclipse Editeur JSP complet Indépendant du serveur Point faible Manque de performance
29
JSF – Le Merdy Eric – Mihura David 13/07/2015 29 Eclipse : JSF Studio (3/3)
30
JSF – Le Merdy Eric – Mihura David 13/07/2015 30 D’autres outils JSF MyEclipse WebFaces Faces console Standalone JDeveloper JBuilder NetBeans Eclipse
31
13/07/2015JSF – Le Merdy Eric – Mihura David 31 Bilan JSF vs Struts Attentes respectées ?
32
JSF – Le Merdy Eric – Mihura David 13/07/2015 32 JSF vs Struts (1/3) Rappels Struts : Framework d’application Web Licence Apache Mêmes principes (MVC,fichier de navigation) Pas de spécifications formalisées
33
JSF – Le Merdy Eric – Mihura David 13/07/2015 33 JSF vs Struts (2/3) Struts est plus mature Meilleur facteur de confiance pour JSF (Ex: support IBM pour WebSphere) Struts contraint le modèle, JSF est plus flexible
34
JSF – Le Merdy Eric – Mihura David 13/07/2015 34 JSF vs Struts (3/3) La vue est plus générique dans JSF grâce à sa conception des composants JSF est plus extensible Balises personnalisés Composants personnalisés Conclusion : JSF a su tirer expérience de Struts
35
JSF – Le Merdy Eric – Mihura David 13/07/2015 35 Attentes respectées (1/2) JSF est-il une bonne solution ? Standardisé Règles de navigation Mise en œuvre des composants graphiques Approche RAD
36
JSF – Le Merdy Eric – Mihura David 13/07/2015 36 Attentes respectées (2/2) MVC Modèle indépendant Séparation du comportement et du rendu Approche page du contrôleur : spécifique aux applications Web
37
13/07/2015JSF – Le Merdy Eric – Mihura David 37 Conclusion
38
JSF – Le Merdy Eric – Mihura David 13/07/2015 38 Le futur de ce Framework Intégration de JSF 1.2 à la future spécification J2EE 5.0 Participation de l’industrie à la spécification Pas de conversion Struts → JSF Adoption de JSF pour les nouveaux projets
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.