TD - Spring MVC
Setup - Config resourcesRécupérer le projet /home/TP/modules/sujets/CAI/WEB/td-spring/spring-mvc-td.tar.gzet linstaller da...
Sous EclipseDans le vue JEE dans la View Server -> serveur localhost Tomcat 6 -> Open (F3) ->lien Open Lauch Configuration...
SetupOuvrir la configuration de lancement du TomcatConfiguration de lancement
SetupOnglet Arguments : Indiquer au conteneurlemplacement de la base de données-Dderby.system.home="/<REPERTOIRE HOME ENIB...
SetupOnglet Classpath : Indiquer au conteneurlemplacement des jar de la base de donnéesAjouterUser Entries : Add External ...
SetupCreation BDD DerbyExécuter le script de création de la base de données/home/TP/modules/sujets/CAI/WEB/td-spring/creat...
Run Serveur● Sous Eclipse○ clean○ publish○ start● Le serveur doit démarrer sans erreur● possibilité de créer un compte dan...
Le bean BeerStore a les propriétés suivantes (spring-ioc.xml):id : beerStoreclass : fr.enib.cai.springframework.model.busi...
Servir la JSP bar.jsp pour toute méthode GET sur lurl /private/barDans la classe BarControleurSur une requête GET url= htt...
Le formulaire beer/add (Home.jsp) est soumis via une requête AJAX.URL http://localhost:8080/spring-mvc-tp/private/beer/add...
Le plus "+" dans le tableau appel un service AJAX dajout de bière dans lestockURL http://localhost:8080/spring-mvc-tp/priv...
Le plus "-" dans le tableau appel un service AJAX dajout de bière dans lestockURL http://localhost:8080/spring-mvc-tp/priv...
Modèle MétierAjout de la persistance (BDD)Limplémentation BeerStoreImpl na pas de persistance... cest mal● Créer une nouve...
Front tunningPour ceux qui sennuient...● Ajouter des images aux bières● Mettre un carroussel Bootstrap sur la pages daccue...
Prochain SlideShare
Chargement dans…5
×

ENIB cours CAI Web - Séance 4 - Frameworks/Spring - TD

893 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
893
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
38
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

ENIB cours CAI Web - Séance 4 - Frameworks/Spring - TD

  1. 1. TD - Spring MVC
  2. 2. Setup - Config resourcesRécupérer le projet /home/TP/modules/sujets/CAI/WEB/td-spring/spring-mvc-td.tar.gzet linstaller dans votre workspaceSous Eclipse dans le serveur.xmlUtilisation dun Tomcat 6<GlobalNamingResources><Resource auth="Container"driverClassName="org.apache.derby.jdbc.EmbeddedDriver"maxActive="8" maxIdle="4"name="jdbc/devenib-ds" type="javax.sql.DataSource"url="jdbc:derby:devenib-ds;create=true"username="" password="" /></GlobalNamingResources>.....<Context docBase="spring-mvc" path="/spring-mvc" reloadable="true" source="org.eclipse.jst.jee.server:spring-mvc"><ResourceLink name="jdbc/devenib-ds" global="jdbc/devenib-ds" type="javax.sql.DataSource" /></Context>
  3. 3. Sous EclipseDans le vue JEE dans la View Server -> serveur localhost Tomcat 6 -> Open (F3) ->lien Open Lauch ConfigurationSetupConfiguration du TomcatOpen (F3)Java EE View
  4. 4. SetupOuvrir la configuration de lancement du TomcatConfiguration de lancement
  5. 5. SetupOnglet Arguments : Indiquer au conteneurlemplacement de la base de données-Dderby.system.home="/<REPERTOIRE HOME ENIB>/derby/Databases"
  6. 6. SetupOnglet Classpath : Indiquer au conteneurlemplacement des jar de la base de donnéesAjouterUser Entries : Add External Jar : derby.jarderby.jar disponible sous /home/TP/modules/sujets/CAI/WEB/db-derby-10.9.1.0-bin/lib
  7. 7. SetupCreation BDD DerbyExécuter le script de création de la base de données/home/TP/modules/sujets/CAI/WEB/td-spring/createbdd.sh
  8. 8. Run Serveur● Sous Eclipse○ clean○ publish○ start● Le serveur doit démarrer sans erreur● possibilité de créer un compte dans le menu sign-up
  9. 9. Le bean BeerStore a les propriétés suivantes (spring-ioc.xml):id : beerStoreclass : fr.enib.cai.springframework.model.business.impl.BeerStoreImplscope : singletonLannotation @Autowired sur linterface BeerStore permet de notifier à Springdinjecter limplémentation correspondante.Attention : Toute modification de linjection (xml ou annotation) nécessite unredémarrage du serveur sous Eclipse.Injectiondéclaration au bean beerStore
  10. 10. Servir la JSP bar.jsp pour toute méthode GET sur lurl /private/barDans la classe BarControleurSur une requête GET url= http://localhost:8080/spring-mvc/private/barforwarder vers la page bar.jspCette JSP affiche la liste des bières de lutilisateur connectéCette méthode printHome() réalisera :La récupération de lutilisateur connectéLa récupération des bières de lutilisateurLe forward vers la page bar.jspBarControleurGet
  11. 11. Le formulaire beer/add (Home.jsp) est soumis via une requête AJAX.URL http://localhost:8080/spring-mvc-tp/private/beer/addJSON {"name":"1664","brewery":"Kronenbourg","country":"France","alcohol":"5,5"}Créer dans la classe HomeControleur une methode validateField avec les propriétés suivantes :urlmapping : /private/beer/addtype : JSON (RequestBody / ResponseBody)request method : POSTCette méthode réalisera :Le contrôle de validation du formulaireEn cas de succes :ajouter la bière au beerStorecréeer un object AddBeerStatus relatant le résultat de lopérationEn cas derreur :créer un object AddBeerStatus les erreurs de validationretourner cet objetRésultat attendu :La bière doit être ajoutée à la liste de bières en cas de succèsLes messages derreur doivent safficher dans la lightwindow addBeer.AddBeerSoumission du formulaire
  12. 12. Le plus "+" dans le tableau appel un service AJAX dajout de bière dans lestockURL http://localhost:8080/spring-mvc-tp/private/bar/checkinJSON {"id":2,"amount":"7"}Créer dans la classe BarControleur ajouter une methode checkin avec les propriétés suivantes :urlmapping : /private/bar/checkintype : JSON (RequestBody / ResponseBody)request method : POSTCette méthode réalisera :Récupération de lutilisation connectéValidation de inputCheck in du nombre amount dans le stock de la bière idRetourne un JSON avec le nouveau stock (classe CheckInCheckOutStatus)BarControleurAjout de bière dans le stock
  13. 13. Le plus "-" dans le tableau appel un service AJAX dajout de bière dans lestockURL http://localhost:8080/spring-mvc-tp/private/bar/checkoutJSON {"id":2,"amount":"7"}Créer dans la classe BarControleur ajouter une methode checkout avec les propriétés suivantes :urlmapping : /private/bar/checkouttype : JSON (RequestBody / ResponseBody)request method : POSTCette méthode réalisera :Récupération de lutilisation connectéValidation de inputCheck out du nombre amount dans le stock de la bière idRetourne un JSON avec le nouveau stock (classe CheckInCheckOutStatus)BarControleurRetrait de bière dans le stock
  14. 14. Modèle MétierAjout de la persistance (BDD)Limplémentation BeerStoreImpl na pas de persistance... cest mal● Créer une nouvelle implémentation BeerStoreJDBCImpl● créer un modèle SQL correspondant aux HashMap... ou mieux !○ Le déployer sur votre Derby local● injecter un driver jdbc dans la classe BeerStoreJDBCImpl● Utiliser les preparedStatement pour requêter la base de données● Enjoy votre application a de la persistance, vous pouvez la déployer surCloubees !
  15. 15. Front tunningPour ceux qui sennuient...● Ajouter des images aux bières● Mettre un carroussel Bootstrap sur la pages daccueil publique● Debugguer lapplication (il y en a beaucoup, cest Seb qui a codé :P)○ linternationalisation ko sans cookies○ formulaires addBeer ne traitent pas toutes les erreurs

×