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

Développement Web en Java Discussion :

Récuperation et utilisation de données SQL


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 42
    Points : 28
    Points
    28
    Par défaut Récuperation et utilisation de données SQL
    Bonjour,

    Me revoici pour un nouveau problème qui me bloque pas mal, j'ai regarder un peu partout sur le web mais rien n'y fait... Voila le probleme je suis actuellement sur une appli web utilisant des pages jsp des servlets ainsi qu'une base de données Mysql via Wamp.
    J'essaie de faire une page de connexion ou une fois le formulaire avec le login et le mot de passe validé on effectue une recherche dans la base et on récupère les données correspondantes (si elles existe) afin de les comparer avec celles du formulaire.
    Mais après différents essaie pas moyen de trouver une solution.

    code de ma page 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
     
    <body>
    <%@ include file="/header.jsp" %>
    <h3>title</h3>
     
    <div align="center">
       <form action="LoginServlet" method="post">
          login : <input type="text" name="login" /><br>
          password : <input type="password" name="password" /><br>
          <input type="submit" value="connexion" />
       </form>
    </div>
    <%@ include file="/footer.jsp" %>
    </body>
    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
     
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		String log = request.getParameter("login");
    		String password = request.getParameter("password");
    		HttpSession session = request.getSession();
    		String url = "jdbc:mysql://localhost/Test";
    		String login = "root";
    		String passwd = "";
    		java.sql.Connection cn = null;
    		java.sql.Statement st = null;
    		String logg = null;
    		String mdp = null;
    			try {
     
    				Class.forName("com.mysql.jdbc.Driver");
    				cn = DriverManager.getConnection(url, login, passwd);
    				st = cn.createStatement();
    				ResultSet rs = st.executeQuery("Select * from user where login='"+ log +"' and password='" + password+"'");
    				while (rs.next()){
    					logg = rs.getString("login");
    					mdp = rs.getString("password");
    				}
     
    				if (logg==log && mdp==password){
    					response.sendRedirect("acceuil.jsp");
    				}
     
    			}
    			 catch (SQLException e)
    			{
    				e.printStackTrace();
    			}catch (ClassNotFoundException e)
    			{
    				e.printStackTrace();				
    			}finally {
     
    				}
     
    	}
    Merci d'avance pour votre aide

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations forums :
    Inscription : Juillet 2012
    Messages : 200
    Points : 342
    Points
    342
    Par défaut
    Bonjour.
    pour faire la comparaison de chaînes de caractères, on utilise la méthode
    Ton code se contente de comparer les références contenues dans les variables que tu utilises. Deuxième point, je te conseille d'utiliser les requêtes paramtrés si tes requêtes nécessitent des données provenant de l'utilisateur (voi faq jdbc).
    Finalement, on aura :
    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
     
    boolean found = false;
    String query = "select * from user where login = ? and password = ?"
    Connection cnx = DriverManager.getConnection(url, login, passwd);
    PreparedStatement stmt = cnx.prepareStatement(query);
    stmt.setString(1, log);
    stmt.setString(2, password);
    ResultSet rs = st.executeQuery();
    if (rs.next()) {
        found = true;
    }
    if (found) {
    // Utilisateur trouvé. Fermer la connexion et redirigernle navigateur
    } else {
    }

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 42
    Points : 28
    Points
    28
    Par défaut
    Et ça du coup tu le met dans une structure Try/Catch? désolé je suis un peu novice j'essaie de comprendre mais bon sans savoir c’est un peu compliquer ^^

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations forums :
    Inscription : Juillet 2012
    Messages : 200
    Points : 342
    Points
    342
    Par défaut
    Oui. La plupart des opérations effectuées avec JDBC sont faits avec des blocs Try/catch.
    Si tu es débutant, je te conseille la lecture du tutoriel JDBC : http://docs.oracle.com/javase/tutorial/jdbc/index.html.
    Il y a aussi le cours de J.M Doudoux (en français) qui est aussi très bien :
    http://jmdoudoux.developpez.com/
    http://jmdoudoux.developpez.com/cour...va/partie5.php

    Voir aussi les cours et tutoriels de formation à la programmation Java : http://java.developpez.com/cours/

    Bonne lecture.

Discussions similaires

  1. [Synchronisation de données sur Pocket PC en utilisant C# et sql server 2005]
    Par GHAZEL Taoufik dans le forum Accès aux données
    Réponses: 1
    Dernier message: 02/11/2009, 08h57
  2. Réponses: 2
    Dernier message: 17/02/2009, 20h26
  3. doc sur l'utilisation de bases de données SQL sous python
    Par moon93 dans le forum Général Python
    Réponses: 2
    Dernier message: 03/08/2007, 15h09
  4. Réponses: 3
    Dernier message: 01/09/2005, 16h24

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