ENIB cours CAI Web - Séance 3 - JSP/Servlet - TP

892 views
793 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
892
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
37
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ENIB cours CAI Web - Séance 3 - JSP/Servlet - TP

  1. 1. TD - Servlet / JSP
  2. 2. Import du projetSous Eclipse● Importer le projet - servlet-alone○ context root : servlet-alone○ content directory : web○ ne pas générer le deployement descriptor web.xml● Lancer le tomcat sous Eclipse○ project○ run/as - run on server○ configurer le server Tomcat 6 avec le port 8080○ vérifier que le serveur est lancé http://127.0.0.1:8080/servlet-alone/beer
  3. 3. Les Pojos● Pojo Beer avec les attributs suivants :○ String name;○ String brewery;○ String country;○ double alcohol;● Pojo Bar avec les attributs suivants :○ Beer beer○ int stock
  4. 4. BusinessLa classe BarBusiness permet deffectuer les actions sur le bar :● ajouter une bière (newBeer)● supprimer une bière (removeBeer)● obtenir la liste des bières (getBeers)● obtenir le stocke du bar (getBar)● mettre des bière en stocke (checkinBeer)● sortir une bière du stocke (checkoutBeer)
  5. 5. Servlet BeerServlet● Mapping {web app context}/beer voir web.xml<servlet>...<servlet-name>BeerServlet</servlet-name><servlet-class>fr.enib.cai.servlet.BeerServlet</servlet-class></servlet> ...<servlet-mapping><servlet-name>BeerServlet</servlet-name><url-pattern>/beer/*</url-pattern></servlet-mapping>● GETRenvoie la liste de bières dans la page /WEB-INF/views/beer.jsp● POST○ sur lurl {web app context}/beer/add ajoute une bière et retourne le fluxJSON de la bière ajoutée. {"name":"1664","brewery":"Kronenbourg","country":"France","alcohol":5.5,"id":3}○ sur lurl {web app context}/beer/delete supprime une bière et retournele flux JSON de la bière supprimée○ sinon affiche la page /WEB-INF/views/404.jsp
  6. 6. Servlet BarServlet● Mapping {web app context}/beer voir web.xml<servlet>...<servlet-name>BarServlet</servlet-name><servlet-class>fr.enib.cai.servlet.BarServlet</servlet-class></servlet> ...<servlet-mapping><servlet-name>BarServlet</servlet-name><url-pattern>/bar/*</url-pattern></servlet-mapping>● GET et POST qui renvoient Hello Enib
  7. 7. Servlet BarServletMethode Get● Méthode idempotent1. Récupérer le bar avec la méthode getBar (liste de BeerStock)2. Ajouter lattribut "bar" à la request avec comme object la collection deBeerStock3. Forwarder la requête à la jsp privée /WEB-INF/views/bar.jspLe résultat peut être consulté à lURL suivante :http://127.0.0.1:8080/{context}/bar
  8. 8. Servlet BarServletMethode Post checkInBeer● Méthode non-idempotentLe bouton + dans la page web) génére lurl suivante (utilisation de la methodePOST):http://127.0.0.1:8080/{context}/bar/checkInBeeravec le paramètre id=2le paramètre ID corresponds à lidentifiant de la bière.Lexecution de cette méthode POST doit● ajouter une bière dans le stock● ajouter lattribut beerStock à la requête● forwarder à la jsp bar-json.jspCette jsp produit le json suivante {id=3,stock=12}Actionner le bouton + doit ajouter une bière dans le stock et mettre à jour lapage Web
  9. 9. Servlet BarServletMethode Post checkOutBeer● Méthode non-idempotentLe bouton + dans la page web) génére lurl suivante (utilisation de la methodePOST):http://127.0.0.1:8080/{context}/bar/checkOutBeeravec le paramètre id=2le paramètre ID corresponds à lidentifiant de la bière.Lexecution de cette méthode POST doit● retirer une bière dans le stock● ajouter lattribut beerStock à la requête● forwarder à la jsp bar-json.jspCette jsp produit le json suivante {id=3,stock=12}Actionner le bouton - doit retirer une bière dans le stock et mettre à jour la pageWeb
  10. 10. Servlet BarServletExtra (pour ceux qui sennuient)Le bouton + et - ouvre un lightwindow permettant de choisir le nombre debières à ajouter ou retirer du stock.La jsp beer.jsp a un formulaire caché addbeerLa lightbox est gérer avec BootstrapLe formulaire est envoyé en Ajax avec la methode de JQuery ajaxFormBonne chance ;)
  11. 11. Tomcat Beer● Produire le war (sous Eclipse)○ File->export->web->War■ nom du war servlet-alone.warOption (pour ceux qui sennuient...)● Deployer le war dans le Tomcat○ copier le war dans /opt/apache-tomcat-6.X.X/webapps/● Démarrer le Tomcat○ /opt/apache-tomcat-6.X.X/bin/startup.sh■ port découte définit dans le server.xml (connector)■ les logs (catalina.out) sont riches dinformation● Arrêter le Tomcat○ /opt/apache-tomcat-6.X.XX/bin/shutdown.sh
  12. 12. CloudBee(r)s

×