SlideShare una empresa de Scribd logo
1 de 20
Technologie Web
       Struts 2




  Le 3 Décembre 2010
Plan




 1. Struts 2
   2. Exercice
Présentation
• Architecture simple
• Facile à apprendre
• Architecture MVC
• Possède beaucoup de composants
MVC
Cycle de vie
Action / Interceptor / Result
Les Actions
• Doivent étendre de ActionSupport
• Contiennent les données du model
• Sont mappées sur les URLS
• Se configurent dans le fichier struts.xml
  • Exemple
<package name="monPackage" extends="struts-default">
<action name=“ uri“ class=“ class“ method=“ method">
 <result name=” success” >destination.jsp</result>
</action>
<package>
Wildcard Mapping
<package name="exemple" extends="struts-default">
  <action name=“ contact_*" class=“ fr.ima.uco.ContactAction"
method=“ {1} ">
     <result>/contact/{1}.jsp</result>
  </action>
<package>


http://localhost:8080/exemple/contact_list.action
La classe Action
public class ContactAction extends ActionSupport {
    private Contact contact;
    private ContactService service;


    public String delete(){ … }
    public String update(){…}
    // GETTER & SETTER
}
La validation
• Form
<s:textfield key="age"/>

• Action
private int age; get/set

• Validator <ActionClassName>-validation.xml
<field name="age">
<field-validator type="int">
<param name="min">13</param>
<param name="max">19</param>
<message>Only people ages 13 to 19 allowed</message>
</field-validator>
</field>
Validator Types
• Conversion
• date
• email
• short – int – long - double
• regex <takes a regular expression>
• required
• requiredstring
• stringlength
• url
• visitor - conditionalvisitor
• expression
Exemple de validation
• <field name=“password">
•   <field-validator type="expression">
•     <param name="expression">
•            password.equals(password2)
•     </param>
•   <message>
•     Password 2 must equal ${password}
•   </message>
• </field-validator>
• </field>
Quelques tags importants
• Affichage d’une propriété de bean :
  • <s:property value="…" />
• Iteration sur des propriétés
  • <s:iterator value="…">
• Construction d’un lien avec paramètres
  • <s:url id="url" action="…"/>
  • <s:param/>
  • <s:a href="…">
• Formulaires
  • <s:form action="…" method="…"/>
  • <s:textfield name="…"/>
  • <s:submit value="…"/>
• Expressions OGNL %{...} dans les attributs
Quelques tags importants
• Affichage d’une propriété de bean :
  • <s:property value="…" />
• Iteration sur des propriétés
  • <s:iterator value="…">
• Construction d’un lien avec paramètres
  • <s:url id="url" action="…"/>
  • <s:param/>
  • <s:a href="…">
• Formulaires
  • <s:form action="…" method="…"/>
  • <s:textfield name="…"/>
  • <s:submit value="…"/>
• Expressions OGNL %{...} dans les attributs
Plan




   1. Struts 2
 2. Exercice
Application carnet d’adresse

• Fonctions implémentée en 3 itération :
  1) Listing des données dans les propretés
  2) Formulaire de recherche dans la liste
  3) Formulaire de mise à jour, création, suppression


• Données d’entrée
  • Application Web de base
  • Classe de DAO
Etape 1 : Intégrer Struts 2
• Ajouter le filtre Struts :
    •Sur une nouvelle application Tomcat
    •Ajouter les jars struts dans WEB-INF/lib
    •Paramétrer le filtre dans le web.xml :
     <filter>
         <filter-name>struts2</filter-name>
         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
     </filter>
     <filter-mapping>
         <filter-name>struts2</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>

                                FilterDispatcher Struts2
                                            …
                                    HttpServletFilter 2
                                    HttpServletFilter 1


                    Requête HTTP
Etape 2 : Paramétrage des
                      actions
                                                •Fichier struts.xml dans le classpath.
                    Contrôleur
                                                •Créer la classe action ListAction dérivant
Identification et                               de ActionSupport
instanciation du
Bean d’action                                   •Créer de vues exemple : list.jsp et
                                                error.jsp

                                 FilterDispatcher Struts2
                                            …
                                    HttpServletFilter 2
                                    HttpServletFilter 1


                       Requête HTTP
Etape 2 : Paramétrage de struts

                                                     •Les propriétés du Bean sont initialisées
                    Contrôleur                       par les paramètres de la requête.
                     Initilisation
Identification et
                     à partir des                    •La conversion est automatique par Struts.
instanciation du
                     paramètres de
Bean d’action
                     requête




                                     FilterDispatcher Struts2
                                                …
                                        HttpServletFilter 2
                                        HttpServletFilter 1


                       Requête HTTP
Struts 2 : Cycle de vie de
                       requête
                                   Modèle
                                                     •Passer les infos au travers des propriétés
                                                     du Bean action : disponibles dans la vue
                    Contrôleur
                     Initilisation                   •Eviter d’ajouter de données dans la
Identification et                  Appel de la
instanciation du
                     à partir des
                                   methode           request !
                     paramètres de
Bean d’action                      execute()
                     requête                         •Créer une methode execute qui affiche les
                                                     données.

                                     FilterDispatcher Struts2
                                                 …
                                         HttpServletFilter 2
                                         HttpServletFilter 1


                       Requête HTTP
Struts 2 : Cycle de vie de
                       requête
                                   Modèle

                    Contrôleur                                     Vue
                     Initilisation
Identification et                  Appel de la
                     à partir des                              Génération de la
instanciation du                   methode
                     paramètres de                             sortie
Bean d’action                      execute()
                     requête

                                        Nom du Result
                                        (vue)


                                     FilterDispatcher Struts2         • Ajouter une vue (Result) au
                                                                      Struts.xml
                                                   …
                                         HttpServletFilter 2
                                         HttpServletFilter 1          • list.jsp JSP correspondante.

                       Requête HTTP

Más contenido relacionado

Destacado

286759 martine 34 (1)
286759 martine 34 (1)286759 martine 34 (1)
286759 martine 34 (1)Albert Antebi
 
Modifier votre annonce de location
Modifier votre annonce de locationModifier votre annonce de location
Modifier votre annonce de locationNicolas Chollet
 
NACS Wave 3, Learning Session 3 (FR)
NACS Wave 3, Learning Session 3 (FR)NACS Wave 3, Learning Session 3 (FR)
NACS Wave 3, Learning Session 3 (FR)marc van der woerd
 
OMNIS à SHANGHAÏ 2012
OMNIS à SHANGHAÏ 2012OMNIS à SHANGHAÏ 2012
OMNIS à SHANGHAÏ 2012OMNIS
 
Efficacité energétique
Efficacité energétiqueEfficacité energétique
Efficacité energétiqueAdil Diani
 
7736 Über Enthaltsamkeit und Kasteiung ....
7736   Über Enthaltsamkeit und Kasteiung ....7736   Über Enthaltsamkeit und Kasteiung ....
7736 Über Enthaltsamkeit und Kasteiung ....Marianne Zipf
 
13conseilspourlavie2
13conseilspourlavie213conseilspourlavie2
13conseilspourlavie2hanenab
 
0694 Voraussage gewaltigen Geschehens ....
0694   Voraussage gewaltigen Geschehens ....0694   Voraussage gewaltigen Geschehens ....
0694 Voraussage gewaltigen Geschehens ....Marianne Zipf
 

Destacado (12)

Frisure
FrisureFrisure
Frisure
 
286759 martine 34 (1)
286759 martine 34 (1)286759 martine 34 (1)
286759 martine 34 (1)
 
Modifier votre annonce de location
Modifier votre annonce de locationModifier votre annonce de location
Modifier votre annonce de location
 
NACS Wave 3, Learning Session 3 (FR)
NACS Wave 3, Learning Session 3 (FR)NACS Wave 3, Learning Session 3 (FR)
NACS Wave 3, Learning Session 3 (FR)
 
MashupXFeed
MashupXFeedMashupXFeed
MashupXFeed
 
OMNIS à SHANGHAÏ 2012
OMNIS à SHANGHAÏ 2012OMNIS à SHANGHAÏ 2012
OMNIS à SHANGHAÏ 2012
 
RICS_1MB
RICS_1MBRICS_1MB
RICS_1MB
 
Efficacité energétique
Efficacité energétiqueEfficacité energétique
Efficacité energétique
 
CV Johnny Beghin
CV Johnny BeghinCV Johnny Beghin
CV Johnny Beghin
 
7736 Über Enthaltsamkeit und Kasteiung ....
7736   Über Enthaltsamkeit und Kasteiung ....7736   Über Enthaltsamkeit und Kasteiung ....
7736 Über Enthaltsamkeit und Kasteiung ....
 
13conseilspourlavie2
13conseilspourlavie213conseilspourlavie2
13conseilspourlavie2
 
0694 Voraussage gewaltigen Geschehens ....
0694   Voraussage gewaltigen Geschehens ....0694   Voraussage gewaltigen Geschehens ....
0694 Voraussage gewaltigen Geschehens ....
 

Similar a technologie web- part4

Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
Workshop Spring  3 - Tests et techniques avancées du conteneur SpringWorkshop Spring  3 - Tests et techniques avancées du conteneur Spring
Workshop Spring 3 - Tests et techniques avancées du conteneur SpringAntoine Rey
 
Java EE _ Servlet et vue (1).pdf
Java EE _ Servlet et vue (1).pdfJava EE _ Servlet et vue (1).pdf
Java EE _ Servlet et vue (1).pdfColombieColombie
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework springAntoine Rey
 
ENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
ENIB cours CAI Web - Séance 3 - JSP/Servlet - CoursENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
ENIB cours CAI Web - Séance 3 - JSP/Servlet - CoursHoracio Gonzalez
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring BatchAntoine Rey
 
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...ENSET, Université Hassan II Casablanca
 
API Cockpit : faites communiquer vos applications web
API Cockpit : faites communiquer vos applications webAPI Cockpit : faites communiquer vos applications web
API Cockpit : faites communiquer vos applications webParis, France
 
cours8-GL-minfo-1718.pdf
cours8-GL-minfo-1718.pdfcours8-GL-minfo-1718.pdf
cours8-GL-minfo-1718.pdfSliimAmiri
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJSAbdoulaye Dieng
 
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
 

Similar a technologie web- part4 (20)

Struts
StrutsStruts
Struts
 
Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
Workshop Spring  3 - Tests et techniques avancées du conteneur SpringWorkshop Spring  3 - Tests et techniques avancées du conteneur Spring
Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
 
Rapport tp2 j2ee
Rapport tp2 j2eeRapport tp2 j2ee
Rapport tp2 j2ee
 
Présentation nouveauté java7
Présentation nouveauté java7Présentation nouveauté java7
Présentation nouveauté java7
 
Rapport tp3 j2ee
Rapport tp3 j2eeRapport tp3 j2ee
Rapport tp3 j2ee
 
Java EE _ Servlet et vue (1).pdf
Java EE _ Servlet et vue (1).pdfJava EE _ Servlet et vue (1).pdf
Java EE _ Servlet et vue (1).pdf
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework spring
 
ENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
ENIB cours CAI Web - Séance 3 - JSP/Servlet - CoursENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
ENIB cours CAI Web - Séance 3 - JSP/Servlet - Cours
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring Batch
 
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
API Cockpit : faites communiquer vos applications web
API Cockpit : faites communiquer vos applications webAPI Cockpit : faites communiquer vos applications web
API Cockpit : faites communiquer vos applications web
 
cours8-GL-minfo-1718.pdf
cours8-GL-minfo-1718.pdfcours8-GL-minfo-1718.pdf
cours8-GL-minfo-1718.pdf
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
spring.pdf
spring.pdfspring.pdf
spring.pdf
 
Java Server Faces 2
Java Server Faces 2Java Server Faces 2
Java Server Faces 2
 
2
22
2
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 
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
 
Jboss Seam
Jboss SeamJboss Seam
Jboss Seam
 

Más de Benoît Simard

Más de Benoît Simard (6)

Paris meetup-rdf
Paris meetup-rdfParis meetup-rdf
Paris meetup-rdf
 
20161020 - Paris - Retour GC
20161020  - Paris - Retour GC20161020  - Paris - Retour GC
20161020 - Paris - Retour GC
 
technologie web - part3
technologie web - part3technologie web - part3
technologie web - part3
 
technologie web - part2
technologie web - part2technologie web - part2
technologie web - part2
 
technologie web
technologie webtechnologie web
technologie web
 
Formation Play! framework
Formation Play! frameworkFormation Play! framework
Formation Play! framework
 

Último

Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 

Último (20)

Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 

technologie web- part4

  • 1. Technologie Web Struts 2 Le 3 Décembre 2010
  • 2. Plan  1. Struts 2 2. Exercice
  • 3. Présentation • Architecture simple • Facile à apprendre • Architecture MVC • Possède beaucoup de composants
  • 4. MVC
  • 5. Cycle de vie Action / Interceptor / Result
  • 6. Les Actions • Doivent étendre de ActionSupport • Contiennent les données du model • Sont mappées sur les URLS • Se configurent dans le fichier struts.xml • Exemple <package name="monPackage" extends="struts-default"> <action name=“ uri“ class=“ class“ method=“ method"> <result name=” success” >destination.jsp</result> </action> <package>
  • 7. Wildcard Mapping <package name="exemple" extends="struts-default"> <action name=“ contact_*" class=“ fr.ima.uco.ContactAction" method=“ {1} "> <result>/contact/{1}.jsp</result> </action> <package> http://localhost:8080/exemple/contact_list.action
  • 8. La classe Action public class ContactAction extends ActionSupport { private Contact contact; private ContactService service; public String delete(){ … } public String update(){…} // GETTER & SETTER }
  • 9. La validation • Form <s:textfield key="age"/> • Action private int age; get/set • Validator <ActionClassName>-validation.xml <field name="age"> <field-validator type="int"> <param name="min">13</param> <param name="max">19</param> <message>Only people ages 13 to 19 allowed</message> </field-validator> </field>
  • 10. Validator Types • Conversion • date • email • short – int – long - double • regex <takes a regular expression> • required • requiredstring • stringlength • url • visitor - conditionalvisitor • expression
  • 11. Exemple de validation • <field name=“password"> • <field-validator type="expression"> • <param name="expression"> • password.equals(password2) • </param> • <message> • Password 2 must equal ${password} • </message> • </field-validator> • </field>
  • 12. Quelques tags importants • Affichage d’une propriété de bean : • <s:property value="…" /> • Iteration sur des propriétés • <s:iterator value="…"> • Construction d’un lien avec paramètres • <s:url id="url" action="…"/> • <s:param/> • <s:a href="…"> • Formulaires • <s:form action="…" method="…"/> • <s:textfield name="…"/> • <s:submit value="…"/> • Expressions OGNL %{...} dans les attributs
  • 13. Quelques tags importants • Affichage d’une propriété de bean : • <s:property value="…" /> • Iteration sur des propriétés • <s:iterator value="…"> • Construction d’un lien avec paramètres • <s:url id="url" action="…"/> • <s:param/> • <s:a href="…"> • Formulaires • <s:form action="…" method="…"/> • <s:textfield name="…"/> • <s:submit value="…"/> • Expressions OGNL %{...} dans les attributs
  • 14. Plan 1. Struts 2  2. Exercice
  • 15. Application carnet d’adresse • Fonctions implémentée en 3 itération : 1) Listing des données dans les propretés 2) Formulaire de recherche dans la liste 3) Formulaire de mise à jour, création, suppression • Données d’entrée • Application Web de base • Classe de DAO
  • 16. Etape 1 : Intégrer Struts 2 • Ajouter le filtre Struts : •Sur une nouvelle application Tomcat •Ajouter les jars struts dans WEB-INF/lib •Paramétrer le filtre dans le web.xml : <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> FilterDispatcher Struts2 … HttpServletFilter 2 HttpServletFilter 1 Requête HTTP
  • 17. Etape 2 : Paramétrage des actions •Fichier struts.xml dans le classpath. Contrôleur •Créer la classe action ListAction dérivant Identification et de ActionSupport instanciation du Bean d’action •Créer de vues exemple : list.jsp et error.jsp FilterDispatcher Struts2 … HttpServletFilter 2 HttpServletFilter 1 Requête HTTP
  • 18. Etape 2 : Paramétrage de struts •Les propriétés du Bean sont initialisées Contrôleur par les paramètres de la requête. Initilisation Identification et à partir des •La conversion est automatique par Struts. instanciation du paramètres de Bean d’action requête FilterDispatcher Struts2 … HttpServletFilter 2 HttpServletFilter 1 Requête HTTP
  • 19. Struts 2 : Cycle de vie de requête Modèle •Passer les infos au travers des propriétés du Bean action : disponibles dans la vue Contrôleur Initilisation •Eviter d’ajouter de données dans la Identification et Appel de la instanciation du à partir des methode request ! paramètres de Bean d’action execute() requête •Créer une methode execute qui affiche les données. FilterDispatcher Struts2 … HttpServletFilter 2 HttpServletFilter 1 Requête HTTP
  • 20. Struts 2 : Cycle de vie de requête Modèle Contrôleur Vue Initilisation Identification et Appel de la à partir des Génération de la instanciation du methode paramètres de sortie Bean d’action execute() requête Nom du Result (vue) FilterDispatcher Struts2 • Ajouter une vue (Result) au Struts.xml … HttpServletFilter 2 HttpServletFilter 1 • list.jsp JSP correspondante. Requête HTTP