Code Source Complet du Projet (MVC)
Ce document contient tout le code Java nécessaire pour les packages model, util, dao et controller.
Respectez scrupuleusement les noms de fichiers et de packages pour valider votre architecture MVC (5
pts).
1. Package : model
src/main/java/model/[Link]
package model;
import [Link];
/**
* JavaBean représentant un étudiant.
* Respecte les contraintes du cahier des charges (Nom, Prénom, Email, Filière).
*/
public class Etudiant implements Serializable {
private int id;
private String nom;
private String prenom;
private String email;
private int idFiliere;
public Etudiant() {}
public int getId() { return id; }
public void setId(int id) { [Link] = id; }
public String getNom() { return nom; }
public void setNom(String nom) { [Link] = nom; }
public String getPrenom() { return prenom; }
public void setPrenom(String prenom) { [Link] = prenom; }
public String getEmail() { return email; }
public void setEmail(String email) { [Link] = email; }
public int getIdFiliere() { return idFiliere; }
public void setIdFiliere(int idFiliere) { [Link] = idFiliere; }
}
2. Package : util
src/main/java/util/[Link]
package util;
import [Link];
import [Link];
import [Link];
/**
* Classe utilitaire pour la connexion JDBC à MySQL.
* Base de données : gestion_etudiants
*/
public class DBConnection {
private static final String URL = "jdbc:mysql://localhost:3306/gestion_etudiants";
private static final String USER = "root";
private static final String PWD = ""; // À modifier selon votre configuration MySQL
public static Connection getConnection() {
Connection conn = null;
try {
[Link]("[Link]");
conn = [Link](URL, USER, PWD);
} catch (ClassNotFoundException | SQLException e) {
[Link]();
}
return conn;
}
}
3. Package : dao
src/main/java/dao/[Link]
package dao;
import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];
/**
* Data Access Object - Regroupe toutes les opérations SQL (CRUD).
*/
public class EtudiantDAO {
// CREATE : Ajouter un étudiant
public void ajouter(Etudiant e) throws SQLException {
String sql = "INSERT INTO etudiant (nom, prenom, email, id_filiere) VALUES
(?, ?, ?, ?)";
try (Connection conn = [Link]();
PreparedStatement ps = [Link](sql)) {
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link](4, [Link]());
[Link]();
}
}
// READ : Lister tous les étudiants
public List<Etudiant> listerTous() {
List<Etudiant> liste = new ArrayList<>();
String sql = "SELECT * FROM etudiant";
try (Connection conn = [Link]();
Statement st = [Link]();
ResultSet rs = [Link](sql)) {
while ([Link]()) {
Etudiant e = new Etudiant();
[Link]([Link]("id"));
[Link]([Link]("nom"));
[Link]([Link]("prenom"));
[Link]([Link]("email"));
[Link]([Link]("id_filiere"));
[Link](e);
}
} catch (SQLException ex) { [Link](); }
return liste;
}
// DELETE : Supprimer un étudiant
public void supprimer(int id) throws SQLException {
String sql = "DELETE FROM etudiant WHERE id = ?";
try (Connection conn = [Link]();
PreparedStatement ps = [Link](sql)) {
[Link](1, id);
[Link]();
}
}
}
4. Package : controller
src/main/java/controller/[Link]
package controller;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@WebServlet("/listeEtudiants")
public class ListeEtudiantsServlet extends HttpServlet {
private EtudiantDAO dao = new EtudiantDAO();
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<Etudiant> liste = [Link]();
[Link]("listeEtudiants", liste);
[Link]("[Link]").forward(request, response);
}
}
src/main/java/controller/[Link]
package controller;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@WebServlet("/supprimerEtudiant")
public class SupprimerEtudiantServlet extends HttpServlet {
private EtudiantDAO dao = new EtudiantDAO();
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int id = [Link]([Link]("id"));
try {
[Link](id);
} catch (SQLException e) { [Link](); }
[Link]("listeEtudiants");
}
}