0% ont trouvé ce document utile (0 vote)
44 vues1 page

Devoir Libre 01

Le devoir libre N 01 pour les étudiants de 2ème année en Génie Informatique à l'Ecole Nationale Des Sciences Appliquées d’Al-Hoceima consiste en deux exercices principaux. Le premier exercice demande de créer des servlets pour générer des nombres aléatoires, gérer des cookies, intercepter des requêtes et gérer des exceptions, tandis que le second exercice implique le développement d'une application de jeu de dés avec une option de stockage flexible. Les étudiants doivent soumettre leur travail pour évaluation lors de la séance de TP de la semaine du 14 Mars.

Transféré par

elmansouri.salma795
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
44 vues1 page

Devoir Libre 01

Le devoir libre N 01 pour les étudiants de 2ème année en Génie Informatique à l'Ecole Nationale Des Sciences Appliquées d’Al-Hoceima consiste en deux exercices principaux. Le premier exercice demande de créer des servlets pour générer des nombres aléatoires, gérer des cookies, intercepter des requêtes et gérer des exceptions, tandis que le second exercice implique le développement d'une application de jeu de dés avec une option de stockage flexible. Les étudiants doivent soumettre leur travail pour évaluation lors de la séance de TP de la semaine du 14 Mars.

Transféré par

elmansouri.salma795
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ecole Nationale Des Sciences Appliquées d’Al-Hoceima

Devoir libre N 01
2ème Année Génie Informatique
Année Universitaire 2021/2022
Enseignant : Tarik BOUDAA

Ce devoir sera noté et sera évalué dans la prochaine séance de TP qui aura lieu dans la semaine du 14 Mars.
Exercice 1 :
Ecrire une application web basée sur les servlet implémentant les éléments ci-dessous :
1. Ecrire une Servlet qui génère 3 nombres entiers aléatoires de 1 à 6 puis elle stocke ces nombres dans
une liste nommée listInt de type List<Integer>. Si leur somme est un nombre pair elle insère listInt
comme attribut dans le contexte de l’application. Si leur somme est impaire elle stocke listInt comme
attribut de la session de l’utilisateur.
2. Ecrire une Servlet qui lit les cookies d’un utilisateur et si l’un des cookies est nommé ensah elle redirige
vers une page ok.jsp sinon elle redirige vers une page ko.jsp.
3. Ecrire un filtre qui intercepte toutes les requêtes et récupère l’adresse ip d’un utilisateur par la méthode
request.getRemoteAddr() puis elle le stocke dans le fichier journal à l’aide de log4j. (Configurer log4j
via log4j.xml pour écrire dans une fichier log.log au lieu d’écrire dans la console)
4. Ecrire un filtre qui implémente une gestion globale des exceptions dans une application. Ce filtre
intercepte toutes les requêtes et en cas d’une erreur il écrit dans le journal des erreurs avec log4j et il
redirige vers une page erreur.jsp affichant le message de l’exception. Ecrire des servlets qui
déclenchent des exceptions pour tester le bon fonctionnement de ce filtre. Ci-dessous la structure de la
méthode doFilter:

doFilter(……) ….{

try{

chain.doFilter(request, response);

}catch(Exception ex){ //Cas d’une erreur dans les servlet cibilées

Logger.error("erreur à caude de :"+ex , ex) ;

//redirection vers la page d’erreur JSP Ici

Exercice 2 :
1- Réaliser l’exercice Jeu de dés 2 du TP1.
2- Développer une autre version de cette application qui en fonction d’un paramètre de contexte (voir
code ci-dessous) l’application utilise soit une base de données ou le contexte de l’application pour
stocker ses données. Ecrire un code qui prend en considération que l’application pourra évoluer
dans le futur pour prendre en compte d’autres supports de stockage.

<context-param>
<param-name>type_stockage</param-name>
<!-- Prend l'une des valeurs context ou mysql -->
<param-value>context</param-value>
</context-param>

Pour la base de données vous pouvez utiliser MariaDB et JDBC.

Vous aimerez peut-être aussi