0% ont trouvé ce document utile (0 vote)
153 vues7 pages

Gestion d'applications web avec JDBC

Transféré par

bou.chelareme.amira
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
153 vues7 pages

Gestion d'applications web avec JDBC

Transféré par

bou.chelareme.amira
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

Exercices Supplémentaires

Exercice 01 : (Rappel JDBC)


1- Supposons que vous ayez une table Utilisateurs dans votre base de données avec les
colonnes suivantes :
 id (entier auto-incrémenté)
 nom (chaîne de caractères)
 age (entier)
2- Créez une connexion à votre base de données MySQL en utilisant JDBC.
3- Créez une nouvelle entrée dans la table Utilisateurs en permettant à l'utilisateur de saisir
le nom et l'âge via la console.
4- Affichez tous les utilisateurs de la table Utilisateurs sur la console.
5- Mettez à jour un utilisateur existant en lui permettant de saisir un nouvel âge pour un
utilisateur spécifique via la console.
6- Supprimez un utilisateur existant de la table en lui permettant de saisir l'ID de
l'utilisateur à supprimer via la console.
Instructions supplémentaires :
a- Utilisez les classes Connection, Statement, PreparedStatement, ResultSet, etc., pour
interagir avec la base de données.
b- Assurez-vous de gérer correctement les exceptions JDBC en les imprimant ou en les
enregistrant dans un fichier journal.
c- Fermez toutes les ressources JDBC (comme les ResultSet, Statement, Connection, etc.)
correctement après utilisation à l'aide de blocs try-with-resources ou de blocs finally.

Exercice 02 : (JDBC, JSP & Servlets)


Description : Gestion d'une liste d'étudiants
Créez une application web qui permet de gérer une liste d'étudiants. Les fonctionnalités de
base de cette application devraient inclure :
1- Affichage de la liste des étudiants.
2- Ajout d'un nouvel étudiant.
3- Modification des informations d'un étudiant.
4- Suppression d'un étudiant.
Instructions :
a- Créez une base de données MySQL nommée gestion_etudiants contenant une table
étudiants avec les colonnes suivantes :
 id (clé primaire, auto-incrémentée)
 nom & prenom
 age
 email
b- Créez une classe Java Etudiant avec les propriétés correspondant aux colonnes de la
table étudiants.
c- Implémentez une servlet nommée ListeEtudiantsServlet qui affiche la liste des
étudiants à partir de la base de données.
d- Implémentez une servlet nommée AjoutEtudiantServlet qui permet d'ajouter un nouvel
étudiant à la base de données à partir d'un formulaire HTML.
e- Implémentez une servlet nommée ModificationEtudiantServlet qui permet de modifier
les informations d'un étudiant existant dans la base de données.
f- Implémentez une servlet nommée SuppressionEtudiantServlet qui permet de supprimer
un étudiant de la base de données.
Consignes supplémentaires :
 Utilisez des requêtes SQL préparées pour éviter les injections SQL.
 Assurez-vous de gérer les exceptions correctement dans votre code.
 Utilisez des JSP pour générer les vues HTML plutôt que d'écrire du HTML
directement dans les servlets.

Exercice 03 : Gestion d'une bibliothèque en ligne


Description :
Développez une application web permettant de gérer une bibliothèque en ligne.
L'application devrait permettre aux utilisateurs de rechercher des livres, d'afficher les détails
des livres disponibles, d'emprunter des livres et de consulter leur historique d'emprunt.
Instructions :
1- Créez une base de données MySQL nommée bibliothèque contenant deux tables :
a- Livres avec les colonnes suivantes :
o id (clé primaire, auto-incrémentée)
o titre
o auteur
o annee_publication
o quantite_disponible
b- Emprunts avec les colonnes suivantes :
 id (clé primaire, auto-incrémentée)
 id_livre (clé étrangère faisant référence à la table livres)
 nom_emprunteur
 date_emprunt
 date_retour
2- Implémentez une servlet nommée RechercheLivresServlet qui permet aux utilisateurs
de rechercher des livres par titre ou par auteur.
3- Implémentez une servlet nommée DetailsLivreServlet qui affiche les détails d'un livre
spécifique ainsi que la possibilité de l'emprunter.
4- Implémentez une servlet nommée EmpruntServlet qui gère le processus d'emprunt
d'un livre.
5- Implémentez une servlet nommée HistoriqueEmpruntsServlet qui affiche l'historique
des emprunts d'un utilisateur.
6- Créez des pages JSP pour afficher les résultats des recherches de livres, les détails des
livres, l'historique des emprunts et toute autre vue nécessaire.
Consignes supplémentaires :
a- Assurez-vous que les utilisateurs doivent être connectés pour effectuer des emprunts.
b- Utilisez des sessions HTTP pour gérer l'authentification des utilisateurs.
c- Assurez-vous de gérer correctement les cas où un livre n'est pas disponible pour
l'emprunt.
d- Implémentez la fonctionnalité de retour de livre.

Exercice 04 : Système de gestion des tâches


Description :
Développez une application web permettant de gérer des tâches ou des projets.
L'application devrait permettre aux utilisateurs de créer de nouvelles tâches, de les assigner à
des utilisateurs, de suivre leur statut et de générer des rapports sur l'avancement du projet.
Instructions :
1- Créez une base de données MySQL nommée gestion_taches contenant deux tables :
a- Taches avec les colonnes suivantes :
o id (clé primaire, auto-incrémentée)
o titre
o description
o date_creation
o date_echeance
o statut (en cours, terminé, en attente, etc.)
o id_utilisateur (clé étrangère faisant référence à une table d'utilisateurs)
b- utilisateurs avec les colonnes suivantes :
o id (clé primaire, auto-incrémentée)
o nom
o email
o role (administrateur, membre, etc.)
2- Implémentez une servlet nommée ListeTachesServlet qui affiche la liste des tâches
disponibles.
3- Implémentez une servlet nommée CreationTacheServlet qui permet aux utilisateurs de
créer de nouvelles tâches.
4- Implémentez une servlet nommée AssignationTacheServlet qui permet aux
administrateurs d'assigner des tâches à des utilisateurs.
5- Implémentez une servlet nommée ModificationStatutServlet qui permet de modifier le
statut d'une tâche (en cours, terminé, etc.).
6- Implémentez une servlet nommée RapportAvancementServlet qui génère un rapport sur
l'avancement du projet.
Consignes supplémentaires :
a- Assurez-vous que seuls les utilisateurs connectés peuvent créer, modifier ou afficher
des tâches.
b- Utilisez des sessions HTTP pour gérer l'authentification des utilisateurs.
c- Gérez les autorisations en fonction du rôle de l'utilisateur (administrateur ou membre).
d- Utilisez des JSP pour générer les vues HTML de manière modulaire et réutilisable.

Exercice 05 : Système de réservation de chambres d'hôtel


Description :
Développez une application web permettant aux utilisateurs de rechercher des
chambres disponibles dans différents hôtels, de réserver des chambres pour des dates
spécifiques et de consulter leurs réservations.
Instructions :
1- Créez une base de données MySQL nommée reservations_hotel contenant deux tables :
a- chambres avec les colonnes suivantes :
 id (clé primaire, auto-incrémentée)
 hotel_id (clé étrangère faisant référence à une table d'hôtels)
 numero (numéro de chambre)
 type (simple, double, suite, etc.)
 prix_par_nuit
 disponible (booléen)
b- reservations avec les colonnes suivantes :
 id (clé primaire, auto-incrémentée)
 chambre_id (clé étrangère faisant référence à une table de chambres)
 utilisateur_id (clé étrangère faisant référence à une table d'utilisateurs)
 date_debut
 date_fin
2- Implémentez une servlet nommée RechercheChambresServlet qui permet aux
utilisateurs de rechercher des chambres disponibles pour des dates spécifiques dans un
hôtel donné.
3- Implémentez une servlet nommée ReservationChambreServlet qui permet aux
utilisateurs de réserver une chambre pour des dates spécifiques.
4- Implémentez une servlet nommée ConsultationReservationsServlet qui permet aux
utilisateurs de consulter leurs réservations actuelles.
5- Implémentez une servlet nommée AnnulationReservationServlet qui permet aux
utilisateurs d'annuler une réservation existante.
6- Créez des pages JSP pour afficher les résultats des recherches de chambres, les détails
des réservations, etc.
Consignes supplémentaires :
a- Assurez-vous que les utilisateurs doivent être connectés pour réserver une chambre ou
consulter leurs réservations.
b- Utilisez des sessions HTTP pour gérer l'authentification des utilisateurs.
c- Gérez les autorisations en fonction du rôle de l'utilisateur (administrateur ou client).
d- Ajoutez la fonctionnalité de gestion des hôtels pour les administrateurs.

Exercice 06 : Gestion de l'authentification avec sessions et cookies


Description :
Développez une application web permettant à un utilisateur de s'authentifier avec un
nom d'utilisateur et un mot de passe. Une fois authentifié, l'utilisateur devrait pouvoir accéder
à une page protégée où son nom d'utilisateur serait affiché. La session de l'utilisateur devrait
être suivie à l'aide d'un cookie de session.
Instructions :
1- Créez une page de connexion (login.jsp) avec des champs pour le nom d'utilisateur et
le mot de passe.
2- Créez une servlet (LoginServlet) pour gérer la soumission du formulaire de connexion.
Vérifiez les informations d'identification de l'utilisateur et, si elles sont valides, créez
une session pour l'utilisateur et stockez son nom d'utilisateur dans la session.
3- Créez une page protégée (welcome.jsp) où le nom d'utilisateur de l'utilisateur
authentifié sera affiché. Cette page doit être accessible uniquement si l'utilisateur est
authentifié.
4- Utilisez un cookie de session (JSESSIONID) pour suivre la session de l'utilisateur.
5- Assurez-vous que l'utilisateur ne peut accéder à la page protégée qu'après s'être
authentifié avec succès.
6- Ajoutez un lien de déconnexion sur la page protégée. Lorsque l'utilisateur se
déconnecte, supprimez la session et redirigez-le vers la page de connexion.
Consignes supplémentaires :
a- Stockez le nom d'utilisateur dans la session après une authentification réussie.
b- Utilisez un cookie de session pour suivre la session de l'utilisateur.
c- Vérifiez si l'utilisateur est authentifié avant de lui permettre d'accéder à la page
protégée.
d- Ajoutez des messages d'erreur pour informer l'utilisateur en cas de saisie incorrecte de
l'identifiant ou du mot de passe.
e- Implémentez une déconnexion propre en supprimant la session de l'utilisateur lorsqu'il
se déconnecte.

Exercice 07 : Gestion des préférences utilisateur avec les cookies


Description :
Développez une petite application web permettant à un utilisateur de choisir une
langue de préférence parmi une liste prédéfinie. Une fois qu'un utilisateur a choisi sa langue
préférée, celle-ci devrait être enregistrée dans un cookie. Lorsque l'utilisateur revient sur le
site, sa langue préférée devrait être automatiquement sélectionnée à partir du cookie.

Instructions :
1- Créez une page (index.jsp) avec une liste déroulante (select) permettant à l'utilisateur
de choisir sa langue préférée parmi une liste de langues prédéfinie (par exemple :
Français, Anglais, Espagnol).
2- Créez une servlet (LanguagePreferenceServlet) pour gérer la soumission du formulaire
de sélection de langue. Récupérez la langue sélectionnée par l'utilisateur à partir des
paramètres de requête (request.getParameter()) et enregistrez-la dans un cookie.
3- Lorsque l'utilisateur accède à la page principale (index.jsp), vérifiez s'il existe un
cookie de langue préférée. Si oui, sélectionnez automatiquement cette langue dans la
liste déroulante.
4- Assurez-vous que la langue sélectionnée par l'utilisateur est enregistrée dans un cookie
et qu'elle est récupérée à partir du cookie lorsque l'utilisateur revient sur le site.
Consignes supplémentaires :
a- Utilisez des cookies pour stocker la langue préférée de l'utilisateur.
b- La liste déroulante des langues préférées doit être dynamiquement pré-remplie avec
les options de langue disponibles.
c- Si aucun cookie de langue n'existe, la langue par défaut devrait être sélectionnée dans
la liste déroulante.
d- Testez votre application en sélectionnant différentes langues et en vérifiant si la langue
sélectionnée est correctement enregistrée et récupérée à partir du cookie.

Exercice 08 : Suivi du nombre de visites avec HttpSession


Description :
Développez une petite application web qui compte le nombre de visites d'un utilisateur
sur une page spécifique. À chaque visite de la page, le nombre de visites de l'utilisateur
devrait être incrémenté et affiché sur la page.
Instructions :
1- Créez une servlet (VisitCounterServlet) pour gérer les requêtes HTTP sur une page
spécifique (par exemple : visit.jsp).
2- Utilisez une session (HttpSession) pour stocker le nombre de visites de l'utilisateur. Si
la session n'existe pas, initialisez le compteur à 1.
3- À chaque visite de la page visit.jsp, récupérez le compteur de visites à partir de la
session, incrémentez-le et enregistrez-le à nouveau dans la session.
4- Affichez le nombre de visites de l'utilisateur sur la page visit.jsp.
Consignes supplémentaires :
a- Utilisez HttpSession pour stocker le compteur de visites de l'utilisateur.
b- Si la session de l'utilisateur n'existe pas, initialisez le compteur de visites à 1.
c- Affichez le nombre de visites de l'utilisateur sur la page visit.jsp à chaque visite de
la page.

Exercice 09 : Panier d'achat avec HttpSession


Description :
Développez une application web permettant à un utilisateur de naviguer dans un
catalogue de produits et d'ajouter des articles à son panier d'achat. Les articles sélectionnés
par l'utilisateur devraient être stockés dans sa session et affichés sur une page de récapitulatif
de commande.
Instructions :
1- Créez une servlet (CatalogServlet) pour afficher une liste de produits disponibles à
l'achat.
2- Ajoutez un bouton "Ajouter au panier" à côté de chaque produit sur la page.
3- Créez une servlet (CartServlet) pour gérer les actions d'ajout d'articles au panier
d'achat. Utilisez HttpSession pour stocker les articles sélectionnés par l'utilisateur.
4- Affichez les articles ajoutés au panier sur une page de récapitulatif de commande
(cart.jsp).
Consignes supplémentaires :
a- Utilisez HttpSession pour stocker les articles sélectionnés par l'utilisateur dans son
panier d'achat.
b- Assurez-vous que les articles ajoutés au panier sont affichés sur la page de
récapitulatif de commande.
c- Ajoutez des fonctionnalités supplémentaires comme la possibilité de supprimer des
articles du panier, de modifier les quantités, etc.
d- Testez votre application en ajoutant plusieurs articles au panier et en vérifiant s'ils sont
correctement affichés sur la page de récapitulatif de commande.

Vous aimerez peut-être aussi