Vous êtes sur la page 1sur 6

Contrôle finale

Notre objectif est de développer une application web de gestion des comptes
bancaires. le diagramme de classe ci-dessus illustre les relations existant entre
les classes de l'application

Travail à faire
Donner les deux classe Compte.java et Client.java

public class Client {

private long idClient;


private String nom;
private String adresse;
private Set<Compte> comptes;
public long getIdClient() {
return idClient;
}
public void setIdClient(long idClient) {
this.idClient = idClient;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}

public String getAdresse() {


return adresse;
}
public void setAdresse(String adresse) {
this.adresse = adresse;
}
public Set<Compte> getComptes() {
return comptes;
}
public void setComptes(Set<Compte> comptes) {
this.comptes = comptes;
}

public class Compte {

private long idCompte;


private double solde;
private double decouvert;
private Client client;
private Set<Operation> operations;

public void addOperation(Operation o) {


operations.add(o);
}

public void verser(double d) {


solde += d ;
}

public void retirer(double d) {


solde -= d ;
}

public long getIdCompte() {


return idCompte;
}
public void setIdCompte(long idCompte) {
this.idCompte = idCompte;
}
public double getSolde() {
return solde;
}
public void setSolde(double solde) {
this.solde = solde;
}
public double getDecouvert() {
return decouvert;
}
public void setDecouvert(double decouvert) {
this.decouvert = decouvert;
}
public Client getClient() {
return client;
}
public void setClient(Client client) {
this.client = client;
}
public Set<Operation> getOperations() {
return operations;
}
public void setOperations(Set<Operation> operations) {
this.operations = operations;
}

1. Développer la couche DAO permettant d'offrir les fonctions suivantes:(utiliser la


classe DBInteraction)
• Void AjouterClient(client clt)
• void AjoterCompte(Compte cpt)
• List<Compte> ComptesClient(long idclient)
• Set<Operation> OperationsCompte(long idcompte)

public class DAO {

public void ajouterClient(Client c) {


// TODO Auto-generated method stub
String sql="INSERT INTO client VALUES ("+c.getIdClient()+",
'"+c.getNom()+"', "+c.getAdresse()+");";
DBInteraction.connect();
DBInteraction.modifier(sql);
DBInteraction.disconnect();
}

public void ajouterCompte(Compte c) {


// TODO Auto-generated method stub
String sql="INSERT INTO compte VALUES ("+c.getIdCompte()+",
'"+c.getSolde()+"', "+c.getDecouvert()+","+c.getClient().getIdClient()+");";
DBInteraction.connect();
DBInteraction.modifier(sql);
DBInteraction.disconnect();
}

public List<Compte> compteClient(long idClient) throws SQLException{


String sql1 = "SELECT * FROM `compte` WHERE id_client =
"+idClient+";";
DBInteraction.connect();
ResultSet rs = DBInteraction.select(sql1);

ArrayList<Compte> list = new ArrayList<Compte>();

while(rs.next() ) {
Compte compte = new
Compte(rs.getLong(1),rs.getDouble(2),rs.getDouble(3),idClient);
list.add(compte);

DBInteraction.disconnect();
return list;
}

public Set<Operation> opertionCompte(long idCompte) throws


SQLException{
String sql = "SELECT * FROM `operation WHERE id_client =
`"+idCompte+";";
DBInteraction.connect();
ResultSet rs = DBInteraction.select(sql);

HashSet<Operation> list = new HashSet<Operation>();

while(rs.next() ) {

Operation o = new
Operation(rs.getLong(1),rs.getDate(2),idCompte);
list.add(o);

DBInteraction.disconnect();
return list;
}

2. Développer une page Jsp contenant deux formulaires un pour l'ajout d'un compte et
l'autre pour l'ajout d'un client l'action d'ajout sera envoyer vers une Servlet add.jav

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Ajouter</title>
</head>
<body>
<h1>ajouter client</h1>
<form action="add" method="post">
<label for="client"> nom : <input type="text" id="client"
name="nomClient"> </label><br/>
<label for="adresse"> adresse : <input type="text" id="adresse"
name="adresseClient"> </label><br/>
<input type="submit" value="ajouter client">
</form>
<h1>ajouter compte</h1>
<form action="add" method="get">
<label for="idClient"> id Client : <input type="number"
id="idClient" name="idClient"> </label><br/>
<label for="solde"> solde : <input type="number"
id="solde" name="solde"> </label><br/>
<label for="decouvert"> decouvert : <input type="number"
id="decouvert" name="decouvert"> </label><br/>
<input type="submit" value="ajouter compte">
</form>
</body>
</html>

3. Développer la Servlet add.java

@WebServlet("/add")
public class add extends HttpServlet {

DAO dao;

public add() {
super();
dao = new DAO();
}

protected void doGet(HttpServletRequest Q, HttpServletResponse R) throws


ServletException, IOException {
String nom = Q.getParameter("nomClient");
String adresse = Q.getParameter("adresseClient");

Client c = new Client(nom,adresse);

dao.ajouterClient(c);
}

protected void doPost(HttpServletRequest Q, HttpServletResponse R) throws


ServletException, IOException {
long idClient = Long.parseLong(Q.getParameter("idClient"));
long sold = Long.parseLong(Q.getParameter("solde"));
long decouvert = Long.parseLong(Q.getParameter("decouvert"));

Compte c = new Compte(sold,decouvert,idClient);

dao.ajouterCompte(c);
}
4. Développer un jsp permettant de lister les comptes et les opérations effectuer pour
un client

<%@ page import="com.dao.DAO ,com.beans.* , java.util.List ,java.util.Set" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<% DAO dao = new DAO(); List<Compte> listCompte = dao.compteClient(idClient); %>

<% for(Compte compte : listCompte){ %>


<table>
<tr>
<b>compte num : <%= compte.getIdCompte() %></b>
</tr>
<% Set<Operation> listOperation =
dao.opertionCompte(compte.getIdCompte());
for(Operation op :listOperation){%>
<tr>
<%= op.toString() %>
</tr>
<%} %>
</table>

<%} %>

</body>
</html>

<yassine></elmahi>

Vous aimerez peut-être aussi