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 :

Servlet Jsp JDBC


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Points : 22
    Points
    22
    Par défaut Servlet Jsp JDBC
    Bonjour.
    je veux utiliser une page JSP avec cette servlet dont je sépare la partie HTML et le code java.
    donc dans la servlet j'utilise que du code java et dans la page Jsp j'utilise que du HTML et bien sur avec quelque code de java pour récupérer les données.
    Pouvez vous m'aider?!!


    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
     
     
    package com.servlet.test;
    // You can use this sample servlet as a starting point to connect to
    // your database included with useractive account.
    //
    // Portions copied from Sun's HelloWorldServlet.java
    // You are free to use this code in any way you chose
     
    import java.io.*;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    import java.sql.*;
     
    public
        class HelloWorldServlet extends HttpServlet {
     
    	public void doGet (HttpServletRequest req, HttpServletResponse res)
    	    throws ServletException, IOException {
    	    res.setContentType("text/html");
     
    	    ServletOutputStream out = res.getOutputStream();
     
     
    	    try {
    		// The newInstance() call is a work around for some
    		// broken Java implementations
    	     //  out.println("asdf");
     
     
     
     
    		Class.forName("com.mysql.jdbc.Driver").newInstance();
    	    }
    	    catch (Exception E) {
    		out.println("Unable to load driver.");
    		E.printStackTrace();
    	    }
     
    	    out.println("<br><hr>");
     
    	    try {
    		Connection Conn = DriverManager.getConnection("jdbc:mysql://192.168.0.2:3306/exemple", "root" , "");
     
    		// Do something with the Connection
    		Statement Stmt = Conn.createStatement();
    		ResultSet RS = Stmt.executeQuery("SELECT * from etudiant");
     
     
     
    		while (RS.next()) {
    	  out.println(RS.getString("id_e"));
    		    out.println("<br>");
    		    out.println(RS.getString("nom_e"));
    		    out.println("<br>");
    		    out.println(RS.getString("prenom_e"));
    		    out.println("<br>");
    		    out.println("----------------------<br>");
     
    		}
    		// Clean up after ourselves
    		RS.close();
    		Stmt.close();
    		Conn.close();
     
    	    }
    	    catch (SQLException E) {
    		out.println("SQLException: " + E.getMessage());
    		out.println("SQLState:     " + E.getSQLState());
    		out.println("VendorError:  " + E.getErrorCode());
    	    }
     
    	    out.println("<h1>Hello World. Sun... 1.4</h1>");
    	    out.println("</body></html>");
     
     
     
    	}
     
     
        }

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Points : 139
    Points
    139
    Par défaut
    l'idée est plutôt de n'avoir aucune balise html dans ta servlet ce qui n'est pas le cas actuellement.
    A la fin du traitement serveur et après avoir mis tes variables/valeurs en session ou en request c'est de les récupérer dans ta jsp...

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    je l'a essayé.
    par exemple pour les récupérer il fallait avoir une boucle while.
    et donc je ferai par exemple dans la page JSP.
    mais il faut définir RS de type ResultSet et donc il faut appeler Statement ... donc enfin de compte j'écrirai tout le code juste dans JSP et c'est ce que je veux pas.

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Points : 139
    Points
    139
    Par défaut
    avec jsp et taglib tu peux faire une itération dans ta jsp sans utiliser énormement de code java (pas de resultset and statement)

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Et comment puis je récupérer les données de la base donnée via JSP?

  6. #6
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    C'est vivement déconseillé dans l'archi J2EE , d'intégrer l'acces à la base dans la couche de présentation, mais tu peux tout à fait inclure dans ton jsp le code java, avec les instructions déclaratives JSP.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    oui je sais que c'est déconseillé.
    j'ai la classe avec laquelle je me suis connecté a la base de donnée,maintenant il me reste la partie IHM pour afficher les données, résultant de la requête, dans les pages JSP.
    mais je sais pas comment la faire exactement

  8. #8
    Débutant
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Points : 139
    Points
    139

  9. #9
    Membre actif Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    Dans ta servlet tu ne dois te préoccuper que du traitement de tes données, en l'occurence aller chercher la liste des étudiants dans ta BDD. Une fois tes infos récupérées il ne te reste plus qu'à les transmettre à ta JSP pour les afficher.

    Une des façons de faire (Peut-être pas la meilleure) :
    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
     
    try {
    	Connection Conn = DriverManager.getConnection("jdbc:mysql://192.168.0.2:3306/exemple", "root" , "");
     
    		// Do something with the Connection
    		Statement Stmt = Conn.createStatement();
    		ResultSet RS = Stmt.executeQuery("SELECT * from etudiant");
     
            List<Etudiant> lEtudiants = new ArrayList();	
            Etudiant etudiant = new Etudiant();	
    	while (RS.next()) {	        
                    etudiant.setId(RS.getString("id_e")); //Dans ton code tu mets getString pour récupérer un ID, je pense plutôt que le type du champ ID doit être Integer.
                     etudiant.setNom(RS.getString("nom_e"));
                     etudiant.setPrenom(RS.getString("prenom_e"));
                     lEtudiants.add(etudiant);
     
    		}
     
    		RS.close();
    		Stmt.close();
    		Conn.close();
    		request.setAttribute("ETUDIANTS", lEtudiants);
    	    }
    	    catch (SQLException E) {
    		out.println("SQLException: " + E.getMessage());
    		out.println("SQLState:     " + E.getSQLState());
    		out.println("VendorError:  " + E.getErrorCode());
    	    }
    Ensuite dans ta JSP il ne te reste plus qu'à récupérer ta liste et d'itérer dessus pour afficher les résultats :
    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
     
    <%
    List lEtudiants = (ArrayList) request.getAttribute("ETUDIANTS");
     
    if(lEtudiants != null && lEtudiants.size() > 0){
       Iterator iterator = lEtudiants.iterator();
       while(iterator.hasNext()){
               Etudiant etudiant = (Etudiant) iterator.next();
               %>
               <tr>
                     <td><%=etudiant.getId()%></td>
                      <td><%=etudiant.getNom()%></td>
                      <td><%=etudiant.getPrenom()%></td>
                </tr>
    <%}
    }%>
    Sans oublier de faire les import nécessaires
    Non l'homme ne descend pas du singe, il descend plutôt du mouton..

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. [JSP][Servlet][Tomcat][JDBC]Gestion d'une base de donnée.
    Par BakaOnigiri dans le forum Servlets/JSP
    Réponses: 31
    Dernier message: 16/05/2006, 20h51
  3. [JDBC]sauvegarde de session servlet/jsp dans une bd
    Par sheura dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 01/09/2005, 09h37
  4. [Servlet][JSP] valeur ajoutée
    Par yolepro dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 03/03/2004, 17h30
  5. [JSP][JDBC]1 seule connexion à la DB(suite)
    Par betherb dans le forum JDBC
    Réponses: 6
    Dernier message: 14/08/2003, 10h02

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