CSI 3540 - Laboratoire 4

solution

* Objectifs

  - Comprendre les concepts liés aux sessions,
    tels qu'implémentés à l'aide des Servlets
  - Connaître les mécanismes de gestion des témoins
  - Introduction aux traitements parallèles

* Prérequis

Le dernier laboratoire portait sur les objectifs suivants :

  - Savoir lire et construire des fichiers build.xml simples pour Ant
  - Connaître la structure de base des fichiers .war
  - Être en mesure de déployer une application Web de 3 façons
  - Construire une petite application Web

Nous partons de ceci afin de construire une application où il faut
introduire la notion de session.

1. Vous devez concevoir un petit outil didactique qui permet aux
   étudiants de passer un examen en ligne. Par exemple, vous pourriez
   créer un examen où l'étudiant doit répondre à des questions
   d'arithmétiques (ainsi, l'évaluation des questions sera
   simple).

1.1. L'examen doit comporter plus d'une page, afin d'illustrer
   le concept de session

   Concevez au moins deux pages d'examens et au minimum une question
   par page.
 
   Concevez une page résultat qui affichera la note finale de
   l'étudiant (le programme doit donc évaluer les réponses des
   étudiants)

   La durée maximale de l'examen (session) doit être de 10
   minutes.

1.2. Ajoutez une page d'inscription où l'étudiant devra entrer un nom
   d'usager.  Modifiez toutes les pages de l'examen de sorte que le
   nom soit affiché.

1.3. Utilisez un témoin afin de sauvegarder le nom d'usager côté
   client.  Modifiez la page d'inscription de sorte que le nom
   d'usager soit automatiquement reconnu si l'étudiant a déjà passé un
   examen antérieurement.

1.4. Si le temps le permet, modifiez l'application de sorte que le nom
   et la note finale soient sauvegardés dans un fichier.

   Utilisez des verrous afin de gérer les accès concourants.

1.5. [ Optionnel] ajoutez une page pour terminer la session.

** Notes de cours 08, 09, 10

   http://www.site.uottawa.ca/~turcotte/teaching/csi-3540/lectures/08/08_Servlet.pdf
   http://www.site.uottawa.ca/~turcotte/teaching/csi-3540/lectures/09/09_Servlet.pdf
   http://www.site.uottawa.ca/~turcotte/teaching/csi-3540/lectures/09/10_Servlet.pdf

** Java Servlet API

   http://java.sun.com/products/servlet/2.5/docs/servlet-2_5-mr2/overview-summary.html

** Tutoriel sur Ant

   http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html

** Entrées et sorties en Java
   http://java.sun.com/docs/books/tutorial/essential/io/