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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.