IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

afficher résultat d'une requête dans page web(ici jsp)


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 98
    Points : 48
    Points
    48
    Par défaut afficher résultat d'une requête dans page web(ici jsp)
    Bonjour,
    D'un côté, j'utilise JDBC pour me connecter à une base de données. J'ai fais une classe(Testjdbc.java) et lorsque je la teste, j'ai un résultat correct/normale, bref ça marche.

    Testjdbc.java
    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
     
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/basepoil?user=root&password=", "root", "");
     
    ...
     
    result = statement.executeQuery("select * from recettes");
    			while(result.next()){
    				int i = 0;
    				System.out.println("titre = "+ result.getString(++i));
    				System.out.println("tempsCuisson = "+ result.getInt(++i));
    				System.out.println("tempsPreparation = "+ result.getInt(++i));
    				System.out.println("ingredients = "+ result.getString(++i));
    				System.out.println("thermostat = "+ result.getString(++i));
    				System.out.println("recette = "+ result.getString(++i));
    			}
     
    ...
    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
     
    titre = a
    tempsCuisson = 1
    tempsPreparation = 1
    ingredients = a
    thermostat = a
    recette = a
     
    ...
    D'un autre côté, je commence à utiliser des servlets et des jsp et j'ai un truc qui marche à peu près mais dans lequel je ne suis pas très à l'aise.
    J'ai une page index.html qui est lancée au départ avec un questionnaire (login/password) et si on passe les bon paramètres, on tombe sur une première jsp grâce à une servlet qui possède une méthode doPost().

    Pourquoi, quand j'instancie ma classe Testjdbc.java dans ma jsp ou ma servlet, je me retrouve avec une instance null?
    Ou dois-je mettre le code de la connexion à la base de donnée(jsp, servlet, le bean,...)?

    merci

  2. #2
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 98
    Points : 48
    Points
    48
    Par défaut
    avant de ma faire crier dessus, si ce sujet est posté autre part et qu'il y a une réponse, dites moi ou elle est. merci.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 98
    Points : 48
    Points
    48
    Par défaut
    J'ai testé avec un bean dans lequel j'ai la connection et la méthode executeQuery().

    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
     
    package training;
     
    import java.sql.*;
     
    public class DBConn {
     
    	String DBDriver = "com.mysql.jdbc.Driver";
    	String ConnStr = "jdbc:mysql://localhost/basepoil?user=root&password=";
    	Connection conn = null;
    	ResultSet rs = null;
     
    	public DBConn() {
    		try {
    			Class.forName(DBDriver);
    		}
    		catch(java.lang.ClassNotFoundException e) {
    			System.err.println("ClassNotFoundException -> DBconn (): " + e.getMessage());
    		}
    	}
     
    	public ResultSet executeQuery(String sql) {
    		rs = null;
    		try {
    			conn = DriverManager.getConnection(ConnStr, "root", "");
    			Statement stmt = conn.createStatement();
    			rs = stmt.executeQuery(sql);
    		}
    		catch(SQLException ex) {
    			System.err.println("aq.executeQuery: " + ex.getMessage());
    		}
    		return rs;
    	}
    }
    J'utilise le bean dans une 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
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>titre</title>
    </head>
    <body>
     
    <%@page language="java" import="java.sql.*"%>
     
    <jsp:useBean id="DBConn1" class="training.DBConn" scope="session" />
     
    <%
    ResultSet RS = DBConn1.executeQuery("select * from recettes");
     
    while(RS.next()){
            int i = 0;
            System.out.println("<tr>");
            System.out.println("<td>" + RS.getString(++i) + "</td>");
            System.out.println("<td>" + RS.getInt(++i) + "</td>");
            System.out.println("<td>" + RS.getInt(++i) + "</td>");
            System.out.println("<td>" + RS.getString(++i) + "</td>");
            System.out.println("<td>" + RS.getString(++i) + "</td>");
            System.out.println("<td>" + RS.getString(++i) + "</td>");
            System.out.println("</tr>");
    }
    RS.close();
    %>
     
    </body>
    </html>
    et là, j'ai des exceptions.
    Une dans le constructeur du bean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ClassNotFoundException -> DBconn (): com.mysql.jdbc.Driver
    et une dans la methode executeQuery();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    aq.executeQuery: No suitable driver found for jdbc:mysql://localhost/basepoil?user=root&password=
    J'utilise Eclipse et j'ai utilisé:
    mysql-connector-java-5.1.5-bin.jar pour me connecter

    Si je comprend bien, il ne trouve pas le driver pour la connection.
    Pourquoiiii ??
    merci.

  4. #4
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Avril 2008
    Messages : 74
    Points : 68
    Points
    68
    Par défaut
    j'ai le meme probleme, j'arrive pas a applé une methode creee dans une class sur une servlet dans un fichier.jsp, si vous avez des info sur ce sujet je vous pris de nous en faire part, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Afficher résultat d'une requête dans une zone de liste
    Par davidbd dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/08/2013, 21h21
  2. Réponses: 12
    Dernier message: 14/04/2008, 10h52
  3. [MySQL] Afficher le résultat d'une requête dans une autre page
    Par mohamed2006 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/02/2008, 21h02
  4. [SQL] Est-il possible d'afficher le résultat d'une requête dans un cadre
    Par dessinateurttuyen dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/07/2006, 17h52
  5. Réponses: 11
    Dernier message: 20/06/2006, 11h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo