Documente Academic
Documente Profesional
Documente Cultură
Dans
notre
projet
nous
allons
crer
diffrents
packages
qui
vont
reprsenter
chaque
couche
du
modle
MVC.
Premier
package
crer
:
net.epsiel.model
Dans
le
package
model
nous
allons
donc
crer
la
classe
Utilisateur
.
public
class
Utilisateur{
private
String
Nom
;
private
String
Prenom
;
private
String
Telephone
;
private
String
Email
;
private
String
Password
;
public
Utilisateur
(String
Nom,String
Prenom,String
Telephone,String
Email,String
Password){
this.Nom=Nom
;
this.Prenom=Prenom
;
this.Telephone=Telephone
;
this.Email
=Email
;
this.Password=Password
;
}
}
Deuxime
package
:
net.epsiel.connection
Ce
package
contiendra
la
classe
qui
va
assurer
la
connexion
la
base
de
donnes
(Mysql
dans
notre
cas).Il
est
noter
que
le
langage
Java
dispose
dun
API
(JDBC)
de
connexion
aux
diffrents
systmes
de
gestion
de
base
de
donnes
qui
existent
sur
le
march.
Pour
tablir
la
connexion
une
base
de
donnes
lAPI
a
donc
besoin
dun
pilote
de
la
base
de
donnes.
Dans
notre
cas
nous
avons
donc
besoin
de
tlcharger
le
pilote
Mysql
Database
Connector
qui
est
un
fichier
jar
que
nous
devons
ajouter
dans
les
bibliothques
de
notre
projet.
Nous
allons
donc
crer
dans
le
package
net.epsiel.connection
la
classe
DBConnection
qui
va
assurer
la
connexion
la
base.Afin
de
rendre
le
travail
modulaire
nous
allons
stocker
les
informations
de
connexion
la
base
de
donnes
dans
un
fichier
que
nous
nommerons
db.properties
qui
contiendra
les
lignes
suivantes
:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/gestionutilisateur
user=admin_user
password=
Admin12
Classe
de
connection
la
base
de
donnes.
import
java.io.FileNotFoundException;
import
java.io.IOException;
import
java.io.InputStream;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.SQLException;
import
java.util.Properties;
import
net.epsiel.model.Utilisateur;
import
net.epsiel.connection.DBConnection;
public
class
UtilisateurDao
{
private
Connection
connection;
public
UtilisateurDao()
{
//Rcupration
dun
objet
de
type
connection
connection
=
DbConnection.getConnection();
}
public
void
ajoutUtilisateur(Utilisateur
u)
{
try
{
PreparedStatement
preparedStatement
=
connection.prepareStatement("insert
into
utilisateur(Cin,Nom,Prenom,Telephone,Email,Password)
values
(?,
?,
?,
?,
?,
?
)");
//
Les
paramtres
dbutent
avec
le
numro
1
preparedStatement.setString(1,
u.getCin());
preparedStatement.setString(2,
u.getNom());
preparedStatement.setString(3,u.getTelephone());
preparedStatement.setString(4,
u.getEmail());
preparedStatement.setString(5,
u.getPassword());
preparedStatement.executeUpdate();
}
catch
(SQLException
e)
{
e.printStackTrace();
}
}
public
void
supprimerUtilisateur(int
id)
{
try
{
PreparedStatement
preparedStatement
=
connection
.prepareStatement("delete
from
utilisateur
where
Id=?");
//
Les
paramtres
dbutent
avec
lindice
1
preparedStatement.setInt(1,
id);
preparedStatement.executeUpdate();
}
catch
(SQLException
e)
{
e.printStackTrace();
}
}
public
void
modifierUtilisateur(Utilisateur
u)
{
try
{
PreparedStatement
preparedStatement
=
connection
.prepareStatement("update
utilisateur
set
Nom=?,
Prenom=?,
Email=?,
Password=?"
+"where
Id=?");
//
Parameters
start
with
1
preparedStatement.setString(1,
u.getNom());
preparedStatement.setString(2,
u.getPrenom());
preparedStatement.setString(3,u.getEmail());
preparedStatement.setString(4,
u.getPassword());
preparedStatement.setInt(5,
user.getId());
preparedStatement.executeUpdate();
}
catch
(SQLException
e)
{
e.printStackTrace();
}
}
public
List<User>
listeUtilisateurs()
{
List<Utilisateur>
liste
=
new
ArrayList<Utilisateur>();
try
{
Statement
statement
=
connection.createStatement();
ResultSet
rs
=
statement.executeQuery("select
*
from
utilisateur");
while
(rs.next())
{
Utilisateur
u
=
new
Utilisateur
();
u.setId(rs.getInt("Id"));
u.setCin(rs.getString("
Cin"));
u.setNom(rs.getString("
Nom"));
u.setPrenom(rs.getString("
Preom"));
u.setTelephone(rs.getString("
Telephone"));
u.setEmail(rs.getString("
Email"));
u.setPassword(rs.getString("
Password"));
liste.add(utilisateur);
}
}
catch
(SQLException
e)
{
e.printStackTrace();
}
return
liste;
}
public
Utilisateur
getUtilisateurById(int
Id)
{
Utilisateur
u
=
new
Utilisateur();
try
{
PreparedStatement
preparedStatement
=
connection.
prepareStatement("select
*
from
utilisateur
where
Id=?");
preparedStatement.setInt(1,
Id);
ResultSet
rs
=
preparedStatement.executeQuery();
if
(rs.next())
{
u.setId(rs.getInt("Id"));
u.setNom(rs.getString("Nom"));
u.setPrenom(rs.getString("Prenom"));
u.setCin(rs.getString("Cin"));
u.setTelephone(rs.getString("Telephone"));
u.setEmail(rs.getString("Email"));
u.setPassword(rs.getString("Password"));
}
}
catch
(SQLException
e)
{
e.printStackTrace();
}
return
u;
}
}
Cration
du
package
net.epsiel.controller
A
lintrieur
de
ce
package
se
trouve
le
controleur(servlet)
qui
soccupera
de
la
gestion
de
toutes
les
actions
au
sein
de
lapplication.
import
java.io.IOException;
import
java.text.ParseException;
import
java.text.SimpleDateFormat;
import
java.util.Date;
import
javax.servlet.RequestDispatcher;
import
javax.servlet.ServletException;
import
javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
net.epsiel.dao.UtilisateurDao;
import
net.epsiel.model.Utilisateur;
public
class
Controleur_Utilisateur
extends
HttpServlet
{
private
static
final
long
serialVersionUID
=
1L;
private
static
String
AJOUT_MODIFICATION
=
"/utilisateur.jsp";
private
static
String
LISTE
=
"/liste_utilisateurs.jsp";
private
UtilisateurDao
dao;
public
Controleur_Utilisateur
()
{
super();
dao
=
new
UtilisateurDao();
}
protected
void
doGet(HttpServletRequest
request,
HttpServletResponse
response)
throws
ServletException,
IOException
{
String
forward="";
String
action
=
request.getParameter("action");
if
(action.equalsIgnoreCase("delete")){
int
Id
=
Integer.parseInt(request.getParameter("Id"));
dao.Utilisateur(int
id);
forward
=
LISTE;
request.setAttribute("utilisateurs",
dao.
listeUtilisateurs());
}
else
if
(action.equalsIgnoreCase("edit")){
forward
=
AJOUT_MODIFICATION;
int
Id
=
Integer.parseInt(request.getParameter("Id"));
Utilisateur
u
=
dao.getUtilisateurById
(Id);
request.setAttribute("utilisateur",
u);
}
else
if
(action.equalsIgnoreCase("liste")){
forward
=
LISTE;
request.setAttribute("liste_utilisateurs",
dao.listeUtilisateurs())
;
}
else
{
forward
=
AJOUT_MODIFICATION;
}
RequestDispatcher
view
=
request.getRequestDispatcher(forward);
view.forward(request,
response);
}
protected
void
doPost(HttpServletRequest
request,
HttpServletResponse
response)
throws
ServletException,
IOException
{
Utilisateur
u
=
new
Utilisateur();
u.setNom(request.getParameter("nom"))
;
u.setPrenom(request.getParameter("prenom"))
;
u.setTelephone(request.getParameter("telephone"))
;
u.setEmail(request.getParameter("email"))
;
u.setPassword(request.getParameter("password"))
;
String
id
=
request.getParameter("id");
if(id
==
null
||
id.isEmpty())
{
dao.ajoutUtilisateur
(u);
}
else
{
u.setId(Integer.parseInt(id));
dao.
modifierUtilisateur
(u);
}
RequestDispatcher
view
=
request.getRequestDispatcher(LISTE);
request.setAttribute("liste_utilisateurs",
dao.listeUtilisateurs())
;
view.forward(request,
response);
}
}