60"
:style="scrolled ? 'background-color:#252426;box-shadow:0 2px 20px rgba(0,0,0,0.4);padding-top:0.5rem;padding-bottom:0.5rem;' : 'background-color:#252426;padding-top:0.75rem;padding-bottom:0.75rem;'">
5
Servlets
3
tables MySQL
2
DAOs (PreparedStatements)
1
pattern MVC strict
Contexte & objectif
Projet réalisé en BTS SIO — développement d'une application web de gestion de club étudiant en Java EE pur, sans framework comme Spring. L'objectif était de maîtriser l'architecture MVC côté serveur avec Servlets, JSP et une base de données MySQL, déployée sur un serveur GlassFish v5.
Flux utilisateur
Inscription
→
Connexion
→
Espace connecté
→
Groupes
→
Déconnexion
Architecture MVC
Model Java beans
Etudiant.java · Groupe.javaDAO accès BDD
EtudiantDao.java · GroupeDao.javaController Servlets
Connexion · Inscription · Connecte · Deconnexion
View JSP
index · connexion · inscription · connecte
Fonctionnalités implémentées
Inscription & Connexion
Formulaires HTML reliés à des Servlets, avec vérification des données en base MySQL via PreparedStatements.
Gestion de session HTTP
Pages protégées — les utilisateurs non connectés sont redirigés. Déconnexion avec invalidation de session.
Affichage des groupes
Consultation des groupes créés et rejoints par l'étudiant connecté, depuis la table de liaison
membre.Interface responsive
Mise en page Bootstrap 5.3.2 — adaptée mobile, tablette et desktop, avec composants natifs Bootstrap.
Base de données — club_sio
etudiant
id · nom · login · mot de passe
groupe
id · nom · admin (créateur)
membre
Relation many-to-many — étudiants ↔ groupes
Difficultés rencontrées
Configuration de l'environnement
Mise en place de NetBeans avec les bons plugins Java EE, configuration du serveur GlassFish v5 et du build Apache Ant pour le packaging WAR.
Gestion des interactions Servlet ↔ JSP
Compréhension du cycle requête/réponse HTTP, du passage d'attributs entre servlet et vue JSP via
request.setAttribute et RequestDispatcher.Fonctionnalités non finalisées
Création de groupe (bouton UI présent, servlet non connecté) et la gestion rejoindre / quitter un groupe restent à implémenter.
Stack technique
Backend
Java EEServletsJSP
Frontend
HTML5Bootstrap 5.3.2
Base de données & serveur
MySQL 8.0.27GlassFish v5
Outils
NetBeansApache Ant
Voir le code source
Code source disponible sur GitHub.