application web servlet+jsp
Bonjour à tous.
voila j'ai créer une petite application web pour les besoins d'un cours.
j'aimerai apporté des améliorations mais je nage un peu, tout ce que j'ai essayé ne fonctionne pas :(
je vous mets les codes de ce que j'ai déjà réalisé:
index.jsp:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
<%
String titre1 = "Recherche d'un client dans la base de données";
String titre2 = "Recherche d'un client dans la base:";
%>
<html>
<head><title>
<%= titre1 %>
</title></head>
<body>
<p> <%= titre2 %> </p>
<form method="POST">
Id_client: <input type=text name="Id_client">
<input type="submit" value="Rechercher">
<input type="submit" value="Ajouter">
</form>
<form method="POST">
Id_agence: <input type=text name="Id_agence">
<input type="submit" value="Rechercher">
</form>
</body>
<jsp:useBean id="jdbc" scope="page" class="cours.Jdbc" />
<%
String Id_client = request.getParameter("Id_client");
String texte1 = null;
if(Id_client==null)
texte1 = "";
else if(Id_client.equals(""))
texte1 = "Veuillez remplir le champ!";
else if(jdbc.isCorrect()){
texte1 = "Le client portant le numéro "+Id_client;
String[] listeValeur = jdbc.trouverClient(Id_client);
if(listeValeur!=null){
String nom = listeValeur[0];
String type_client = listeValeur[1];
texte1 += " a pour nom : "+nom+" qui est un client de type: "+type_client;
}
else
texte1 += " n'existe pas!";
}
else
texte1 = "impossible d'atteindre la base!";
Id_client = null;
String Id_agence = request.getParameter("Id_agence");
String texte2 = null;
if(Id_agence==null)
texte2 = "";
else if(Id_agence.equals(""))
texte2 = "Veuillez remplir le champ!";
else if(jdbc.isCorrect()){
texte2 = "L'agence portant le numéro "+Id_agence;
String[] listeValeur = jdbc.trouverAgence(Id_agence);
if(listeValeur!=null){
String nom = listeValeur[0];
String adresse = listeValeur[1];
String gerant = listeValeur[2];
texte2 += " a pour nom "+nom+" et pour adresse: "+adresse+"dont le gérant est:"+gerant;
}
else
texte2 += " n'existe pas!";
}
else
texte2 = "impossible d'atteindre la base!";
Id_agence = null;
%>
<body>
<%= texte1 %>
<%= texte2 %>
</body>
</html> |
ma classe Jdbc:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
import java.sql.*;
public class Jdbc{
Connection connexion = null;
Statement requète = null;
boolean correct;
public Jdbc(){
try{
Class.forName("org.postgresql.Driver");
connexion = DriverManager.getConnection("jdbc:postgresql://localhost:5432/gestion_location","postgres","soulfly");
System.out.println("ouverture de la connexion à*la base");
correct = true;
}
catch(ClassNotFoundException e) {System.err.println("Erreur de chargement du pilote : " + e);}
catch(SQLException e) {System.err.println("Connexion impossible : " + e);}
catch(Exception e) {System.err.println("Erreur : " + e);}
}
public String[] trouverClient(String Id_client){
String sql = "select * from client where Id_client = " + Id_client;
ResultSet réponse = null;
String nom = null;
String type_client = null;
try{
requète = connexion.createStatement();
réponse = requète.executeQuery(sql);
if(réponse.next())
nom = réponse.getString("nom");
type_client = réponse.getString("type_client");
}
catch (SQLException e) {System.err.println("Erreur SQL : " + e.getMessage());}
catch(Exception e) {System.err.println("Erreur : " + e);}
String[] liste = null;
if(nom!=null && type_client!=null){
liste = new String[2];
liste[0] = nom;
liste[1] = type_client;
}
return liste;
}
public String[] trouverAgence(String Id_agence){
String sql = "select * from agence where Id_agence = " + Id_agence;
ResultSet réponse = null;
String nom = null;
String adresse= null;
String gerant= null;
try{
requète = connexion.createStatement();
réponse = requète.executeQuery(sql);
if(réponse.next())
nom = réponse.getString("nom");
adresse = réponse.getString("adresse");
gerant = réponse.getString("gerant");
}
catch (SQLException e) {System.err.println("Erreur SQL : " + e.getMessage());}
catch(Exception e) {System.err.println("Erreur : " + e);}
String[] liste = null;
if(nom!=null && adresse!=null && gerant!=null){
liste = new String[3];
liste[0] = nom;
liste[1] = adresse;
liste[2] = gerant; }
return liste;
}
} |
ma classe affiche client (servlet):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class AfficheClient extends HttpServlet{
Jdbc jdbc;
public void init(){
jdbc = new Jdbc();
}
public void doPost(HttpServletRequest requête, HttpServletResponse réponse) throws IOException, ServletException{
réponse.setContentType("text/html");
PrintWriter html = réponse.getWriter();
html.println("<html> <head>");
String titre = "Recherche d'un client dans la BD";
html.println("<title>" + titre + "</title>");
html.println("</head>");
html.println("<body>");
String Id_client = requête.getParameter("Id_client");
String Id_agence = requête.getParameter("Id_agence");
String texte1 = null;
String texte2=null;
if(jdbc.correct){
texte1 = "Le client portant le numéro "+Id_client;
String[] listeValeur = jdbc.trouverClient(Id_client);
if(listeValeur!=null){
String nom = listeValeur[0];
String type_client = listeValeur[1];
texte1 += " a pour nom : "+nom+"qui est un client de type:"+type_client;
}
else
texte1 += " n'existe pas!";
}
else
texte1 = "impossible d'atteindre la base!";
html.println(texte1);
html.println("</body></html>");
if(jdbc.correct){
texte2 = "L'agence portant le numéro "+Id_agence;
String[] listeValeur = jdbc.trouverAgence(Id_agence);
if(listeValeur!=null){
String nom = listeValeur[0];
String adresse = listeValeur[1];
String gerant = listeValeur[2];
texte2 += " a pour nom "+nom+ "et pour adresse:"+adresse+"dont le gérant est:"+gerant;
}
else
texte2 += " n'existe pas!";
}
else
texte2 = "impossible d'atteindre la base!";
html.println(texte2);
html.println("</body></html>");
}
} |
et enfin la classe Jdbc:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
package cours;
import java.sql.*;
public class Jdbc{
private String hote = "localhost";
private String port = "5432";
private String base = "gestion_location";
private String utilisateur = "postgres";
private String code = "soulfly";
private Connection connexion = null;
private Statement requète = null;
private boolean correct;
public Jdbc(){
initialiserConnexion();
}
public void initialiserConnexion(){
try{
Class.forName("org.postgresql.Driver");
connexion = DriverManager.getConnection("jdbc:postgresql://"+hote+":"+port+"/"+base, utilisateur, code);
System.out.println("ouverture de la connexion à*la base");
correct = true;
}
catch(ClassNotFoundException e) {System.err.println("Erreur de chargement du pilote : " + e);}
catch(SQLException e) {System.err.println("Connexion impossible : " + e);}
catch(Exception e) {System.err.println("Erreur : " + e);}
}
public String[] trouverClient(String Id_client){
String sql = "select * from client where Id_client = " + Id_client;
ResultSet réponse = null;
String nom = null;
String type_client = null;
try{
requète = connexion.createStatement();
réponse = requète.executeQuery(sql);
if(réponse.next())
nom = réponse.getString("nom");
type_client = réponse.getString("type_client");
}
catch (SQLException e) {System.err.println("Erreur SQL : " + e.getMessage());}
catch(Exception e) {System.err.println("Erreur : " + e);}
String[] liste = null;
if(nom!=null && type_client!=null){
liste = new String[2];
liste[0] = nom;
liste[1] = type_client;
}
return liste;
}
public String[] trouverAgence(String Id_agence){
String sql = "select * from agence where Id_agence = " + Id_agence;
ResultSet réponse = null;
String nom = null;
String adresse = null;
String gerant = null;
try{
requète = connexion.createStatement();
réponse = requète.executeQuery(sql);
if(réponse.next())
nom = réponse.getString("nom");
adresse = réponse.getString("adresse");
gerant = réponse.getString("gerant");
}
catch (SQLException e) {System.err.println("Erreur SQL : " + e.getMessage());}
catch(Exception e) {System.err.println("Erreur : " + e);}
String[] liste = null;
if(nom!=null && adresse!=null && gerant!=null){
liste = new String[3];
liste[0] = nom;
liste[1] = adresse;
liste[2] = gerant;
}
return liste;
}
public void setHote(String hote){
this.hote = hote;
}
public void setPort(String port){
this.port = port;
}
public void setBase(String base){
this.base = base;
}
public void setUtilisateur(String utilisateur){
this.utilisateur = utilisateur;
}
public void setCode(String code){
this.code = code;
}
public boolean isCorrect(){
return correct;
}
} |
Voila!et en fait l'application tourne mais j'aimerai améliorer ce projet en changeant le formulaire pour mettre une checkbox à savoir (ajouter un client supprimer,etc...) est-ce qu'il faut un submit qui récupére ce que je choisi dans la checkbox?
j'espére que vous pourrez m'aider je suis dans le flou...
merci à vous!
à bientot.