SlideShare une entreprise Scribd logo
1  sur  25
Struts
                                  JSF 2.0
                   JSP

           Servlets


     HTTP
request/response
Pla
   n




       2
Java Server Faces est un framework Java
pour le développement d’application web


     Orienté composants
     Basé sur le pattern MVC


                                     Quoi ??
                          Quand ??


                   Comment ??

                                               3
FacesServlet   JSF Pages




                           4
JEE 6 &
      Correction
       Correction                                         Multiples
        de bugs
         de bugs                                         nouveautés
          1.1
           1.1
                    Améliorations
                     Améliorations
Version
 Version            et Corrections
                     et Corrections                          JSF 2.0
initiale
 initiale                 1.2
                           1.2
  1.0
   1.0
                                                         JSR 314
JSR 127               JSR 252




                                                   Quoi ??

                                       Quand ??

                                      Comment ??

                                                                   5
<h:form>
<h:commandButton actionListener="#{Personne.action} " 
 action="#{Personne.MonImc} "  value=« IMC"/>
</h:form>                 <h:inputText value="#{personne.no




                                             Quoi ??
                                     Quand ??

                               Comment ??
                                                         6
Pla
   n




       7
<navigation-rule>
@ManagedBean
#{bean.property}
 Request Scope
  @Max(1000)
  View Scope




                    8
JSF
JSF
2.0
 2.0
       9
JSF
JSF
2.0
 2.0
       10
Faisons un petit
    Faisons un petit
       exemple !!!!
        exemple




@




                   11
Technologie de présentation pour le
       développement d’application web.

Spécifiquement
 Spécifiquement                   Plus
                                  Plus
                             Création des
                             Création des
développée pour
développée pour            performante et
                           performante et
  Templating
   Templating                composants
                              composants
     JSF
      JSF                  plus légere que
                            plus légere que
                            personnalisés
                            personnalisés
                                  JSP
                                  JSP
                   P

                              Facelets
                  JS




                                              12
Voyons ce qu’on
        Voyons ce qu’on
        peut faire avec
         peut faire avec
         les facelets !!!!
          les facelets




   tm
.xh




                         13
JSF 2.0   Sauvegarde d’état partielle (juste l’état sauvée/restaurée
          La totalité de l’arbre de composants est modifié)

                                                 web.xml




                                                                   14
Ajax est essentiel pour construire des
              applications Web convaincantes et compétitives.




             Plusieurs solution s JSF/Ajax disponibles
            Pas de prise en charge native



 Un usage déclaratif ,plus commode pour les auteurs de pages avec le tag
de la bibliothèque « core » de JSF 2.0

                                                       <f:ajax>

                                                                       15
Se déclenchent lors de la phase ProcessValidation


         Le but d'un converter est d’affiner le modèle

         Le but d'un validator est de protéger le
         modèle




                                                    16
Je veux un peu de
              Je veux un peu de
               dynamisme dans
               dynamisme dans
                 mes pages !!!!
                 mes pages



    j   ax>
<f:a




                                  17
JSF
JSF
2.0
 2.0
       18
Appliquons sur
   Appliquons sur
  notre exemple
   notre exemple
« la navigation
« la navigation
conditionnelle » !!!!
 conditionnelle »




                        19
Pla
   n




       20
<bean id=“SpringBean“ class="com.spring.beans.Personne">
<property name = " nom" value= " Sahbi " ></property>          Spring
</bean>
                                                     web.xml

<managed-bean>
    <managed-bean-name>personne</managed-bean-name>             JSF
       <managed-bean-class>
                      com.spring.beans.Personne
       </managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>



            IoC && Application Web Dynamique
             IoC && Application Web Dynamique
Les composants
   personnalisés
Accès aux beans par
    leurs noms

Langage d’expression

Simplicité du fichier
  de configuration
Serveurs d'application
• Glassfish, Jboss, Tomcat, Jetty

IDE
• NetBeans 6.9 et Eclipse

Génération de code :
•Archetypes Maven

Librairies de composants
• Richfaces 4.0 M2, IceFaces 2.0 béta 1, PrimeFaces 2.0...




                                                             23
Merci pour votre attention
Merci pour votre attention




                             24
A vos Questions
A vos Questions




                  25

Contenu connexe

Tendances

Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystémeAlgeria JUG
 
J2eeintro
J2eeintroJ2eeintro
J2eeintromedbmb
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemeStéphane Traumat
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVCNathaniel Richand
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Heithem Abbes
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
 

Tendances (20)

3 Jsf
3 Jsf3 Jsf
3 Jsf
 
Presentation JEE et son écossystéme
Presentation JEE et son écossystémePresentation JEE et son écossystéme
Presentation JEE et son écossystéme
 
Tutoriel J2EE
Tutoriel J2EETutoriel J2EE
Tutoriel J2EE
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
J2eeintro
J2eeintroJ2eeintro
J2eeintro
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
Spring
SpringSpring
Spring
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosysteme
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
J2ee
J2eeJ2ee
J2ee
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
1 Introduction
1 Introduction1 Introduction
1 Introduction
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)Entreprise Java Beans (EJB)
Entreprise Java Beans (EJB)
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
 

Similaire à JSF 2.0

JEE_Chapter4_JSF_VF (1).pdf
JEE_Chapter4_JSF_VF (1).pdfJEE_Chapter4_JSF_VF (1).pdf
JEE_Chapter4_JSF_VF (1).pdfMahmoudiOussama
 
Et pourquoi pas JEE ?
Et pourquoi pas JEE ?Et pourquoi pas JEE ?
Et pourquoi pas JEE ?PALO IT
 
Soutenance Stage Licence
Soutenance Stage LicenceSoutenance Stage Licence
Soutenance Stage LicenceMathias Kluba
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Mejdeddine Bouzouita
 
API JSP avec Java EE.pptx
API JSP avec Java EE.pptxAPI JSP avec Java EE.pptx
API JSP avec Java EE.pptxramadanmahdi
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGCh'ti JUG
 
API JSP2 avec Java EE.pdf
API JSP2 avec Java EE.pdfAPI JSP2 avec Java EE.pdf
API JSP2 avec Java EE.pdframadanmahdi
 
Developpement dun site_web_developpement
Developpement dun site_web_developpementDeveloppement dun site_web_developpement
Developpement dun site_web_developpementmosalah38
 
Developpement_dun_site_web_Developpement.pdf
Developpement_dun_site_web_Developpement.pdfDeveloppement_dun_site_web_Developpement.pdf
Developpement_dun_site_web_Developpement.pdfSofianeHassine2
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 

Similaire à JSF 2.0 (20)

JEE_Chapter4_JSF_VF (1).pdf
JEE_Chapter4_JSF_VF (1).pdfJEE_Chapter4_JSF_VF (1).pdf
JEE_Chapter4_JSF_VF (1).pdf
 
Et pourquoi pas JEE ?
Et pourquoi pas JEE ?Et pourquoi pas JEE ?
Et pourquoi pas JEE ?
 
Soutenance Stage Licence
Soutenance Stage LicenceSoutenance Stage Licence
Soutenance Stage Licence
 
Ejb3 1-server-setup fr
Ejb3 1-server-setup frEjb3 1-server-setup fr
Ejb3 1-server-setup fr
 
Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124Prsentation de-javaserver-faces4124
Prsentation de-javaserver-faces4124
 
Cours JSP
Cours JSPCours JSP
Cours JSP
 
#2 Architecture OSGi
#2 Architecture OSGi#2 Architecture OSGi
#2 Architecture OSGi
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
API JSP avec Java EE.pptx
API JSP avec Java EE.pptxAPI JSP avec Java EE.pptx
API JSP avec Java EE.pptx
 
JavaEEGibello.ppt
JavaEEGibello.pptJavaEEGibello.ppt
JavaEEGibello.ppt
 
Jboss Seam
Jboss SeamJboss Seam
Jboss Seam
 
Presentation Spring
Presentation SpringPresentation Spring
Presentation Spring
 
Support cours j2_ee
Support cours j2_eeSupport cours j2_ee
Support cours j2_ee
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUG
 
API JSP2 avec Java EE.pdf
API JSP2 avec Java EE.pdfAPI JSP2 avec Java EE.pdf
API JSP2 avec Java EE.pdf
 
Developpement dun site_web_developpement
Developpement dun site_web_developpementDeveloppement dun site_web_developpement
Developpement dun site_web_developpement
 
Developpement_dun_site_web_Developpement.pdf
Developpement_dun_site_web_Developpement.pdfDeveloppement_dun_site_web_Developpement.pdf
Developpement_dun_site_web_Developpement.pdf
 
Java j2ee
Java j2eeJava j2ee
Java j2ee
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 

Plus de Slimen Belhaj Ali (18)

Solution générique pour la résolution des problèmes statiques de tournées de ...
Solution générique pour la résolution des problèmes statiques de tournées de ...Solution générique pour la résolution des problèmes statiques de tournées de ...
Solution générique pour la résolution des problèmes statiques de tournées de ...
 
BPMN,jBPM,BPEL
BPMN,jBPM,BPELBPMN,jBPM,BPEL
BPMN,jBPM,BPEL
 
Websphere
WebsphereWebsphere
Websphere
 
Sécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-SecuritySécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-Security
 
JasperReport
JasperReportJasperReport
JasperReport
 
ERP Universitaire
ERP UniversitaireERP Universitaire
ERP Universitaire
 
Tutorial
TutorialTutorial
Tutorial
 
Spring security
Spring securitySpring security
Spring security
 
Spring mvc 3.0 web flow
Spring mvc 3.0 web flowSpring mvc 3.0 web flow
Spring mvc 3.0 web flow
 
Share point 2010
Share point 2010Share point 2010
Share point 2010
 
TFS
TFSTFS
TFS
 
objective C
objective Cobjective C
objective C
 
Android
AndroidAndroid
Android
 
Hibernate 3
Hibernate 3Hibernate 3
Hibernate 3
 
WPF MVVM
WPF MVVMWPF MVVM
WPF MVVM
 
Google appengine&guice
Google appengine&guiceGoogle appengine&guice
Google appengine&guice
 
Sonar-Hodson-Maven
Sonar-Hodson-MavenSonar-Hodson-Maven
Sonar-Hodson-Maven
 
Administration glassfish 3
Administration glassfish 3Administration glassfish 3
Administration glassfish 3
 

JSF 2.0

  • 1. Struts JSF 2.0 JSP Servlets HTTP request/response
  • 2. Pla n 2
  • 3. Java Server Faces est un framework Java pour le développement d’application web Orienté composants Basé sur le pattern MVC Quoi ?? Quand ?? Comment ?? 3
  • 4. FacesServlet JSF Pages 4
  • 5. JEE 6 & Correction Correction Multiples de bugs de bugs nouveautés 1.1 1.1 Améliorations Améliorations Version Version et Corrections et Corrections JSF 2.0 initiale initiale 1.2 1.2 1.0 1.0 JSR 314 JSR 127 JSR 252 Quoi ?? Quand ?? Comment ?? 5
  • 6. <h:form> <h:commandButton actionListener="#{Personne.action} "  action="#{Personne.MonImc} "  value=« IMC"/> </h:form> <h:inputText value="#{personne.no Quoi ?? Quand ?? Comment ?? 6
  • 7. Pla n 7
  • 11. Faisons un petit Faisons un petit exemple !!!! exemple @ 11
  • 12. Technologie de présentation pour le développement d’application web. Spécifiquement Spécifiquement Plus Plus Création des Création des développée pour développée pour performante et performante et Templating Templating composants composants JSF JSF plus légere que plus légere que personnalisés personnalisés JSP JSP P Facelets JS 12
  • 13. Voyons ce qu’on Voyons ce qu’on peut faire avec peut faire avec les facelets !!!! les facelets tm .xh 13
  • 14. JSF 2.0 Sauvegarde d’état partielle (juste l’état sauvée/restaurée La totalité de l’arbre de composants est modifié) web.xml 14
  • 15. Ajax est essentiel pour construire des applications Web convaincantes et compétitives. Plusieurs solution s JSF/Ajax disponibles Pas de prise en charge native Un usage déclaratif ,plus commode pour les auteurs de pages avec le tag de la bibliothèque « core » de JSF 2.0 <f:ajax> 15
  • 16. Se déclenchent lors de la phase ProcessValidation Le but d'un converter est d’affiner le modèle Le but d'un validator est de protéger le modèle 16
  • 17. Je veux un peu de Je veux un peu de dynamisme dans dynamisme dans mes pages !!!! mes pages j ax> <f:a 17
  • 19. Appliquons sur Appliquons sur notre exemple notre exemple « la navigation « la navigation conditionnelle » !!!! conditionnelle » 19
  • 20. Pla n 20
  • 21. <bean id=“SpringBean“ class="com.spring.beans.Personne"> <property name = " nom" value= " Sahbi " ></property> Spring </bean> web.xml <managed-bean> <managed-bean-name>personne</managed-bean-name> JSF <managed-bean-class> com.spring.beans.Personne </managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> IoC && Application Web Dynamique IoC && Application Web Dynamique
  • 22. Les composants personnalisés Accès aux beans par leurs noms Langage d’expression Simplicité du fichier de configuration
  • 23. Serveurs d'application • Glassfish, Jboss, Tomcat, Jetty IDE • NetBeans 6.9 et Eclipse Génération de code : •Archetypes Maven Librairies de composants • Richfaces 4.0 M2, IceFaces 2.0 béta 1, PrimeFaces 2.0... 23
  • 24. Merci pour votre attention Merci pour votre attention 24
  • 25. A vos Questions A vos Questions 25

Notes de l'éditeur

  1. offrant d&apos;une part, une architecture MVC et d&apos;autre part, une approche composant (l&apos;état d&apos;un composant est enregistré lors du rendu de la page, pour être ensuite restauré au retour de la requête.). L&apos;objectif est de remplacer l&apos;approche «  je traite la requête HTTP et je renvoie une page HTML  » par «  j&apos;envoie des composants (boutons, champs de texte, etc..) et je réagis aux actions de l&apos;utilisateur  ».
  2. Les pages JSF sont par default des Facelets ( Apache). On peut encore JSP ou des pages XUL. (XML-based User interface Language (prononcé zoul) est un langage de description d’interfaces graphiques fondé sur XML) XUL facilite la mise au point d’une interface plus évoluée que HTML sur le plan technique. Une interface XUL peut récupérer d’un serveur les seules données nécessaires à la mise à jour d’un élément de la page et non l’ensemble de la page elle-même ; ces données peuvent être récupérées en XML et de manière asynchrone, ce qui permet d’utiliser la méthode AJAX en programmation XUL. Ces techniques permettent d’améliorer considérablement les temps de réponse et le confort de l’utilisateur. FacesServlet est la  servlet qui gère tout cycle de traitement d&apos;une requête
  3. La première version des spécifications JSF est lancée par SUN le 11 Mars 2004 et définie dans la JSR 127. Après quelques corrections , la version 1.1 est sortie le 27 Mai 2004. La version 1.2 (Apache) sortie le 11 mai 2006 comprend un ensemble d&apos;améliorations mineures à la spécification précédente.  L&apos;utilisation d&apos;un schéma pour le fichier de configuration, à la place d&apos;une DTD.  Des améliorations pour pouvoir gérer plusieurs frames ou fenêtres d&apos;une même application.  Quelques corrections pour des bugs. JSF 2.0 est sortie en 28 juin 2009 en accompagnant la sortie Java EE 6 et en apportant les premières améliorations majeures en terme de productivité.
  4. Un ensemble de phase exécutée l’une après l’autre  design pattern Chain of responsibilities Quand une requête est envoyé au serveur , il crée l’arbre hiérarchique des composants de l’IU et chaque composant est associé à son validateur , à son gestionnaire d’évènement et eventuellement à un objet (model). Après le moteur JSF extrait les paramètres de la requête et les applique à leurs composants respectifs. On sauvegrade les valeurs des paramètres et on fait les conversions nécessiares. Ensuite on applique les validateurs et si tout va bien les valeurs des beans sont mises à jour. Après la synchronisation des models, on entre dans la phase Invoke application. La le moteur JSF gére les evenements , la navigation , la mise à jour de la base de données etc Ainsi l’arbre de composants de la prochaine page est construit et on entame la dernière phase qui est le rendu de la réponse
  5. Max(1000) Définit jsr 303 View Scope donne au managed bean associé une durée de vie identique à celle de la vue
  6.  
  7.  
  8. Plusieurs solutions JSF / Ajax sont disponibles (IceFaces,PrimeFaces) . Les différences subtiles entre ces solutions conduisent des problèmes de compatibilité cross-framework. Les créateurs de JSF WebApp n&apos;ont pas accès aux fonctionnalités Ajax sans avoir besoin d&apos;un tiers framework  Api Ajax standard
  9. 1/facile de combiner des interfaces graphiques complexes en un seul composant gérable en JSF , Struts ne le fait pas 2/JSF ne se limite pas aux formats HTML et HTTP; Struts si 3/JSF vous permet d&apos;attribuer des noms aux beans, puis vous référez à eux par leurs noms dans les formes. Struts a un processus complexe comportant plusieurs niveaux d&apos;indirection où vous devez vous rappeler quelle forme est l&apos;entrée pour quelle action. 4/Le langage d&apos;expression JSF est plus concis et plus puissant que de Struts. 5/Le fichier faces-config.xml est beaucoup plus facile à utiliser que le fichier struts-config.xml. En général, JSF est plus simple.