2. Import du projet
Sous 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. 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. Business
La classe BarBusiness permet d'effectuer 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. 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>
● GET
Renvoie la liste de bières dans la page /WEB-INF/views/beer.jsp
● POST
○ sur l'url {web app context}/beer/add ajoute une bière et retourne le flux
JSON de la bière ajoutée. {"name":"1664","brewery":"Kronenbourg","country":"
France","alcohol":5.5,"id":3}
○ sur l'url {web app context}/beer/delete supprime une bière et retourne
le flux JSON de la bière supprimée
○ sinon affiche la page /WEB-INF/views/404.jsp
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. Servlet BarServlet
Methode Get
● Méthode idempotent
1. Récupérer le bar avec la méthode getBar (liste de BeerStock)
2. Ajouter l'attribut "bar" à la request avec comme object la collection de
BeerStock
3. Forwarder la requête à la jsp privée /WEB-INF/views/bar.jsp
Le résultat peut être consulté à l'URL suivante :
http://127.0.0.1:8080/{context}/bar
8. Servlet BarServlet
Methode Post checkInBeer
● Méthode non-idempotent
Le bouton + dans la page web) génére l'url suivante (utilisation de la methode
POST):
http://127.0.0.1:8080/{context}/bar/checkInBeer
avec le paramètre id=2
le paramètre ID corresponds à l'identifiant de la bière.
L'execution de cette méthode POST doit
● ajouter une bière dans le stock
● ajouter l'attribut beerStock à la requête
● forwarder à la jsp bar-json.jsp
Cette jsp produit le json suivante {id=3,stock=12}
Actionner le bouton + doit ajouter une bière dans le stock et mettre à jour la
page Web
9. Servlet BarServlet
Methode Post checkOutBeer
● Méthode non-idempotent
Le bouton + dans la page web) génére l'url suivante (utilisation de la methode
POST):
http://127.0.0.1:8080/{context}/bar/checkOutBeer
avec le paramètre id=2
le paramètre ID corresponds à l'identifiant de la bière.
L'execution de cette méthode POST doit
● retirer une bière dans le stock
● ajouter l'attribut beerStock à la requête
● forwarder à la jsp bar-json.jsp
Cette jsp produit le json suivante {id=3,stock=12}
Actionner le bouton - doit retirer une bière dans le stock et mettre à jour la page
Web
10. Servlet BarServlet
Extra (pour ceux qui s'ennuient)
Le bouton + et - ouvre un lightwindow permettant de choisir le nombre de
bières à ajouter ou retirer du stock.
La jsp beer.jsp a un formulaire caché addbeer
La lightbox est gérer avec Bootstrap
Le formulaire est envoyé en Ajax avec la methode de JQuery ajaxForm
Bonne chance ;)
11. Tomcat Beer
● Produire le war (sous Eclipse)
○ File->export->web->War
■ nom du war servlet-alone.war
Option (pour ceux qui s'ennuient...)
● 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 d'information
● Arrêter le Tomcat
○ /opt/apache-tomcat-6.X.XX/bin/shutdown.sh