Javaserver faces
description
Transcript of Javaserver faces
![Page 1: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/1.jpg)
JAVASERVER FACESUn framework Java pour le développement Web
![Page 2: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/2.jpg)
JavaServer Faces JSF, un framework MVC basé sur les
composants Description Démonstration Conclusion
![Page 3: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/3.jpg)
JSF, un framework MVC basé sur les composants
Problématique : pourquoi une web app ? Utiliser Biocham à distance sur un
navigateur Problème : avoir le comportement d’une
application « de bureau »
![Page 4: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/4.jpg)
JSF, un framework MVC basé sur les composants
Problématique : pourquoi une web app ? Pourquoi utiliser le pattern Modèle Vue
Contrôleur ? Structure normalisée
![Page 5: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/5.jpg)
JSF, un framework MVC basé sur les composants
Problématique : pourquoi une web app ? Pourquoi utiliser le pattern Modèle Vue
Contrôleur ?Client Serveur
d’applicationsrequête HTTP
réponse HTTP
Contrôleur
ModèleVue
![Page 6: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/6.jpg)
JSF, un framework MVC basé sur les composants
Problématique : pourquoi une web app ? Pourquoi utiliser le pattern Modèle Vue
Contrôleur ?Client Serveur
d’applicationsrequête HTTP
réponse HTTP
Contrôleur
ModèleVue
(servlets)
(pages JSP)
(objets Java)
Stockage de données
Web app Java EE classique
![Page 7: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/7.jpg)
JSF, un framework MVC basé sur les composants
Problématique : pourquoi une web app ? Pourquoi utiliser le pattern Modèle Vue
Contrôleur ? Et pourquoi pas une architecture 3-
tiers ? Différence
![Page 8: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/8.jpg)
JSF, un framework MVC basé sur les composants
Problématique : pourquoi une web app ? Pourquoi utiliser le pattern Modèle Vue
Contrôleur ? Et pourquoi pas une architecture 3-
tiers ? Différence Le problème des web apps
![Page 9: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/9.jpg)
JSF, un framework MVC basé sur les composants
Problématique : pourquoi une web app ? Pourquoi utiliser le pattern Modèle Vue
Contrôleur ? Et pourquoi pas une architecture 3-
tiers ? Les frameworks MVC
Qu'est-ce que c'est ? Pourquoi les utiliser ?
![Page 10: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/10.jpg)
JSF, un framework MVC basé sur les composants
Problématique : pourquoi une web app ? Pourquoi utiliser le pattern Modèle Vue
Contrôleur ? Et pourquoi pas une architecture 3-
tiers ? Les frameworks MVC
Qu'est-ce que c'est ? Pourquoi les utiliser ? Request-based VS. Component-based
![Page 11: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/11.jpg)
MVC basé sur les requêtes Workflow linéaire
JSF, un framework MVC basé sur les composants
![Page 12: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/12.jpg)
MVC basé sur les requêtes Workflow linéaire Penser en termes d’actions !
JSF, un framework MVC basé sur les composants
![Page 13: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/13.jpg)
MVC basé sur les requêtes Workflow linéaire Penser en termes d’actions ! Servlet unique
JSF, un framework MVC basé sur les composants
![Page 14: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/14.jpg)
MVC basé sur les requêtes Workflow linéaire Penser en termes d’actions ! Servlet unique Vues stateless
JSF, un framework MVC basé sur les composants
![Page 15: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/15.jpg)
MVC basé sur les composants Abstraction des concepts de
requête/réponse Le contrôleur (FacesServlet) : rassemble,
convertit et valide les valeurs saisies par l’utilisateur
les affecte au modèle de données via un backing bean
invoque les actions créé la réponse
JSF, un framework MVC basé sur les composants
![Page 16: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/16.jpg)
MVC basé sur les composants Abstraction des concepts de
requête/réponse Le contrôleur (FacesServlet) : rassemble,
convertit et valide les valeurs saisies par l’utilisateur
les affecte au modèle de données via un backing bean
invoque les actions créé la réponse
Application vue comme une collection de composants
JSF, un framework MVC basé sur les composants
![Page 17: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/17.jpg)
MVC basé sur les composants Abstraction des concepts de
requête/réponse Le contrôleur (FacesServlet) : rassemble,
convertit et valide les valeurs saisies par l’utilisateur
les affecte au modèle de données via un backing bean
invoque les actions créé la réponse
Application vue comme une collection de composants
Vues stateful
JSF, un framework MVC basé sur les composants
![Page 18: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/18.jpg)
JSF est donc principalement : Un assemblage de composants serveur Un modèle de développement standardisé Capable de gérer les états des
UIComponents
JSF, un framework MVC basé sur les composants
![Page 19: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/19.jpg)
Qu’est-ce qu’un composant JSF (UIComponent) ? Bloc de base réutilisable
Description
![Page 20: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/20.jpg)
Qu’est-ce qu’un composant JSF (UIComponent) ? Bloc de base réutilisable Simple ou composé
Description
![Page 21: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/21.jpg)
Qu’est-ce qu’un composant JSF (UIComponent) ? Bloc de base réutilisable Simple ou composé Associé ou non à des données
Description
![Page 22: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/22.jpg)
Qu’est-ce qu’un composant JSF (UIComponent) ? Bloc de base réutilisable Simple ou composé Associé ou non à des données Fournit ses méthodes de rendu et d’action
Description
![Page 23: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/23.jpg)
Qu’est-ce qu’un composant JSF (UIComponent) ? Bloc de base réutilisable Simple ou composé Associé ou non à des données Fournit ses méthodes de rendu et d’action S’assemblent pour créer une vue
Description
![Page 24: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/24.jpg)
Description
L’architecture MVC de JSF
![Page 25: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/25.jpg)
Description
Cycle de vie requête-réponse
![Page 26: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/26.jpg)
Description
Cycle de vie requête-réponse
![Page 27: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/27.jpg)
Description
Cycle de vie requête-réponse
![Page 28: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/28.jpg)
Description
Cycle de vie requête-réponse
![Page 29: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/29.jpg)
Description
Cycle de vie requête-réponse
![Page 30: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/30.jpg)
Description
Cycle de vie requête-réponse
![Page 31: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/31.jpg)
Démonstration Un Hello World en direct !
![Page 32: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/32.jpg)
Nombreux avantages Réduction de l’effort : moins de code de
présentation Composants réutilisables Gestion de l’état de l’UI entre plusieurs
requêtes Gestion fine des événements côté client
Conclusion
![Page 33: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/33.jpg)
Nombreux avantages Réduction de l’effort : moins de code de
présentation Composants réutilisables Gestion de l’état de l’UI entre plusieurs
requêtes Gestion fine des événements côté client
Quelques inconvénients Nécessité de créer un nouveau composant
pour un besoin que ne peut pas satisfaire le framework
Conclusion
![Page 34: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/34.jpg)
Nombreux avantages Réduction de l’effort : moins de code de
présentation Composants réutilisables Gestion de l’état de l’UI entre plusieurs
requêtes Gestion fine des événements côté client
Quelques inconvénients Nécessité de créer un nouveau composant
pour un besoin que ne peut pas satisfaire le framework
Exécution plus gourmande en mémoire
Conclusion
![Page 35: Javaserver faces](https://reader036.fdocuments.fr/reader036/viewer/2022062501/5681649e550346895dd68828/html5/thumbnails/35.jpg)
Nombreux avantages Réduction de l’effort : moins de code de
présentation Composants réutilisables Gestion de l’état de l’UI entre plusieurs
requêtes Gestion fine des événements côté client
Quelques inconvénients Nécessité de créer un nouveau composant
pour un besoin que ne peut pas satisfaire le framework
Exécution plus gourmande en mémoire Faible contrôle sur le rendu HTML/CSS/JS
Conclusion