Vous êtes sur la page 1sur 8

Exemple d’application de l’API JDBC

Page Web
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Exemple Servletet</title>
</head>
<body>
<form action="Login" method="post">
Nom d'utilisateur : <input type="text" name="UserName"/> <br/> <br/> <br/>
Mot de Passe : <input type="password" name="PassWord"/> <br/> <br/> <br/>
<input type="submit" value="Login">
<input type="reset" value="Annuler">

</form>
</body>
</html>

Classe CompteBean

package beans;

public class Compte {


private String NomUser;
private String PassWord;
private String Nom;
private String Prenom;
private String poste; // G: Gérant, A: Acheteur, V: Vendeur

public Compte() {
this.NomUser = "";
this.PassWord = "";
this.Nom = "";
this.Prenom = "";
this.poste = "";
}
public Compte(String NU, String PW, String N, String P, String Po) {
this.NomUser = NU;
this.PassWord = PW;
this.Nom = N;
this.Prenom = P;

Exemple JDBC Page 1


this.poste = Po;
}

public String getNomUser() {


return NomUser;
}

public void setNomUser(String nomUser) {


NomUser = nomUser;
}

public String getPassWord() {


return PassWord;
}

public void setPassWord(String passWord) {


PassWord = passWord;
}

public String getNom() {


return Nom;
}

public void setNom(String nom) {


Nom = nom;
}

public String getPrenom() {


return Prenom;
}

public void setPrenom(String prenom) {


Prenom = prenom;
}

public String getPoste() {


return poste;
}

public void setPoste(String poste) {


this.poste = poste;
}
}

Exemple JDBC Page 2


CompteMetier

package metiers;

//Etape 1 : importer

import java.sql.*;

import javax.swing.JOptionPane;

import beans.Compte;

public class CompteMetier {

// JDBC Driver

public static final String Driver = "org.postgresql.Driver";

// URL de la Base de données

public static final String Host = "jdbc:postgresql://localhost:5432/";

// Nom de la Base de données

public static String DB_NAME = "DAW";

// Nom d'utilisateur de la base de données

public static String USERNAME = "postgres";

// Mot de passe de la base de données

public static final String PASSWORD = "0000";

public static Connection con = null;

public CompteMetier() {

try {

// Etape 2

Class.forName(Driver);

try {

con = DriverManager.getConnection(

Host + DB_NAME,

USERNAME,

Exemple JDBC Page 3


PASSWORD);

} catch (SQLException eee){ // Base inexistante

JOptionPane.showMessageDialog(null, "Base inexistantexx : " + DB_NAME + "


" + eee.getMessage());

} catch (ClassNotFoundException e){ // Erreur Drivers manager inexistant

JOptionPane.showMessageDialog(null, "Erreur de Connexion à " + DB_NAME + " : " +


e.getMessage());

public static Compte Authentification(String Un, String Pw){

PreparedStatement St = null;

ResultSet Re = null;

Compte Cpte = new Compte();

Cpte.setNomUser(Un);

Cpte.setPassWord(Pw);

// etape 4

String Sql = "SELECT * FROM PUBLIC.\"COMPTE\" ";

Sql = Sql + " WHERE ((\"USERNAME\" = ? ) AND (\"PASSWORD\" = ? ))";

try {

St = con.prepareStatement(Sql);

St.setString(1, Un);

St.setString(2, Pw);

Re = St.executeQuery();

if (Re.next()){

Cpte.setNomUser(Re.getString("USERNAME"));

Cpte.setPassWord(Re.getString("PASSWORD"));

Cpte.setNom(Re.getString("NOM"));

Exemple JDBC Page 4


Cpte.setPrenom(Re.getString("PRENOM"));

Cpte.setPoste(Re.getString("POSTE"));

} catch (SQLException e){

JOptionPane.showMessageDialog(null, "Erreur : " + e );

return Cpte;

Servlete Login

package controleurs;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import beans.Compte;

import metiers.CompteMetier;

/**

* Servlet implementation class Login

*/

public class Login extends HttpServlet {

private static final long serialVersionUID = 1L;

Exemple JDBC Page 5


/**

* @see HttpServlet#HttpServlet()

*/

public Login() {

super();

// TODO Auto-generated constructor stub

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws


ServletException, IOException {

// Récupérer paramètres

String Un = request.getParameter("UserName");

String Pw = request.getParameter("PassWord");

Compte Cpte = new Compte();

// Traiter paramètres

boolean resulta = false;

if (Un.trim().length()>0 && Pw.trim().length()>0){

CompteMetier CpteMetier = new CompteMetier();

Cpte = CompteMetier.Authentification(Un,Pw);

if (Cpte.getPoste().length()>0){

resulta = true;

// Générer page réponse

response.setContentType("text/html;charset=UTF-8");

Exemple JDBC Page 6


PrintWriter out = response.getWriter();

try {

out.println("<!DOCTYPE html>");

out.println("<html><head>");

out.println("<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>");

out.println("<title>ServletRequest </title></head>");

out.println("<body>");

out.println("<h1>Page résultat </h1>");

if (resulta){

String Poste ="";

if (Cpte.getPoste().equals("G")){

Poste = "Gérant";

} else{

if (Cpte.getPoste().equals("A")){

Poste = "Acheteur";

} else{

Poste = "Vendeur";

out.println("<p>Bonjour " + Cpte.getNom() + " " + Cpte.getPrenom() + "</p>");

out.println("<p>Vous êtes connecté en tanque " + Poste + "</p>");

out.println("<p>avec un Nom d'utilisateur : " + Cpte.getNomUser() + "</p>");

} else {

out.println("<p>Vous n'êtes pas connecté " + "</p>");

out.println("</body>");

out.println("</html>");

Exemple JDBC Page 7


} finally {

out.close();

Exemple JDBC Page 8

Vous aimerez peut-être aussi