Académique Documents
Professionnel Documents
Culture Documents
On vous charge de développer une application JEE pour la gestion d’un carnet de contacts. Pour cela, on vous offre les
détails ci-dessous présentés.
Chaque contact est défini par son code, son nom, son prénom, son numéro de téléphone portable, son numéro de
téléphone fixe et son adresse.
L’application doit permettre de réaliser les opérations suivantes : ajouter un contact, chercher des contacts par
adresse, chercher les numéros de téléphone (fixe et portable) d’un contact, supprimer un contact, mettre à jour les
informations d’un contact (numéro de portable et/ou numéro fixe et/ou adresse).
L’application doit être accessible par un client Java et par une Servlet.
On suppose que les contacts sont stockés dans une base de données.
On vous demande de compléter le code source de l’application visée (là où il y a des points).
Remarque : Le nombre de lignes vides n’indiquent pas le nombre d’instructions à ajouter. Cependant
l’espace est largement suffisant pour contenir la réponse.
Partie I : Ecriture des beans (12 pts)
Question 1 : Compléter le code du bean entité Contact sachant que :
- La table correspondante à ce bean est CONTACTS
- Les colonnes de cette table sont comme suit : ID_Contact, Nom_Contact, Prenom_Contact,
Num_Portable_Contact, Num_Fixe_Contact et Adresse_Contact.
- L'attribut code joue le rôle de la clé primaire qui est générée automatiquement.
package examen.entity; public void setNom(String nom) {this.nom = nom;}
…………………………………………………………………………………………………………………………………… public String getPrenom() {return prenom; }
…………………………………………………………………………………………………………………………………… public void setPrenom(String prenom)
…………………………………………………………………………………………………………………………………… {this.prenom = prenom;}
…………………………………………………………………………………………………………………………………… public String getNumPortable()
public class Contact …………………………………………………………………… {return numPortable; }
{…………………………………………………………………………………………………………………………………… public void setNumPortable(String numPortable)
……………………………………………………………………………………………………………………………………… {this.numPortable = numPortable;}
…………………………………………………………………………………………………………………………………… public String getNumFixe() {return numFixe;}
private Long code; public void setNumFixe(String numFixe)
…………………………………………………………………………………………………………………………………… {this.numFixe = numFixe;}
private String nom; public String getAdresse() {return adresse;}
…………………………………………………………………………………………………………………………………… public void setAdresse(String adresse)
private String prenom; {this.adresse = adresse;}
…………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………
private String numPortable; ………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
private String numFixe; ………………………………………………………………………………………………………………………..…………
…………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
private String adresse; ………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
public String getNom() {return nom;} ……………………………………………………………………………………………………………………………………
1/4
NE RIEN ECRIRE ICI
…………………………………………………………………………………………………………………………………… ……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………
Question 2 :
1) Pour le côté applicatif de l'application, nous voulons écrire un bean session permettant de simuler les opérations que
nous pouvons effectuer sur le carnet de contacts. Quel type de bean session doit-en utiliser ?
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
2) Supposons qu’on dispose du code l’interface GestionContact (voir code ci-dessous présenté). Compléter le code du
bean session GestionContactBean qui implémente cette interface sachant que :
- La classe du bean se trouve dans le package examen.session.
- Le nom du bean GestionContactBean est CONT.
- La gestion de la persistance au niveau du bean est réalisée moyennant un EntityManager.
- Une erreur de type RuntimeException ("Contact non existant dans le carnet") est générée si on fait la recherche
d’un contact non existant dans la base de données.
- La méthode de mise à jour des informations d’un contact ne modifie que le paramètre ayant une valeur non nulle.
// code de l’interface GestionContact // Suite du code de la classe GestionContactBean
package examen.session; ……………………………………………………………………………………………………………………………
import java.util.List; ……………………………………………………………………………………………………………………………
import javax.ejb.Remote; ……………………………………………………………………………………………………………………………
import examen.entity.Contact; ……………………………………………………………………………………………………………………………
@Remote ……………………………………………………………………………………………………………………………
public interface GestionContact { public class GestionArticleBean
public void ajouterContact(Contact p); …………………………………………………………………………………………………………………….…………
public List<Contact> getAllContacts(); ……………………………………………………………………………………………………………………………
public List<Contact> getContactParAdresse(String a); {@PersistenceContext(unitName="UP_CONT")
public Contact getContact(String nom,String prenom); ……………………………………………………………………………………………………………………………
public void ajouterContact(Contact p) {
public void removeContact(String nom,String prenom);
…………………………………………………………………………………………………………………………………
public void updateContact(String nom,String prenom,
…………………………………………………………………………………………………………………………………
String numPort,String numFix,String adresse);
………………………………………………………………………………………………………………………………
}
// code de la classe GestionContactBean }
public List<Contact> getAllContacts() {
………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
import java.util.List;
…………………………………………………………………………………………………………………………………
import javax.persistence.*;
…………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………}
2/4
public List<Contact> getAllContacts() {
………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
}
……………………………………………………………………………………………………………………………… public void removeContact(String nom, String
} prenom) {
public List<Contact> getContactParAdresse(String a) ………………………………………………………………………………………………………………………………
{………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………
}
public Contact getContact(String nom, String ………………………………………………………………………………………………………………………………
prenom) { …………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………… }
3/4
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………… }//Fin try
……………………………………………………………………………………………………………………………………… catch(NamingException e){e.printStackTrace();}
……………………………………………………………………………………………………………………………………… }}//Fin classe Test
4/4
5/4