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 :

probleme d'authentification jsp/servlet mysql


Sujet :

Servlets/JSP Java

Vue hybride

brajae85 probleme d'authentification... 31/10/2008, 20h57
kmdkaci probleme d'authentification... 31/10/2008, 21h22
brajae85 Pour ça "aussi ecris... 31/10/2008, 21h55
kmdkaci probleme d'authentification... 31/10/2008, 22h48
brajae85 Dans cette aprtie là ... 02/11/2008, 20h43
Mengué georges Au lieu de scruter tte ta... 31/10/2008, 21h31
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 109
    Par défaut probleme d'authentification jsp/servlet mysql
    Bonjour tout le monde,
    je suis en train de developper une toute petite application tournant autour de jsp/servlet.
    mon probleme est generé lors de mon authentification.
    j'ai un formulaire login.jsp où je rempli mes données. le probleme se trouve dans la servlet mais j'arrive pas à le detecter.
    voila mon code 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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    import java.io.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
     
    public class Serv extends HttpServlet{
      public void init(ServletConfig config) throws ServletException{
        super.init(config);
      }
      /**Process the HTTP Get request*/
      public void doPost(HttpServletRequest req, HttpServletResponse res) 
                                     throws ServletException, IOException{
     
        String connectionURL = "jdbc:mysql://localhost/biblio";
        Connection connection=null;
     
        res.setContentType("text/html");
        PrintWriter out = res.getWriter();
         String nom = req.getParameter("nom");
        String passe = req.getParameter("passe");
         String profession = req.getParameter("profession");
     
     
        try {
          // Load the database driver
          Class.forName("org.gjt.mm.mysql.Driver");
          // Pour se connecter à la database
          connection = DriverManager.getConnection(connectionURL, "root", "rajae"); 
          Statement commande = connection.createStatement();
          ResultSet RS = commande.executeQuery("SELECT nom,passe,profession FROM client");
          while(RS.next()) 
                {
              if (nom.equals(RS.getString("nom")) && passe.equals(RS.getString("passe")) && "client".equals(profession))
                {
                    RequestDispatcher dispat = req.getRequestDispatcher("/client.jsp");
                    dispat.forward(req,res);
                }
              if (nom.equals(RS.getString("nom")) && passe.equals(RS.getString("passe")) && "responsable".equals(profession))
              {
                    RequestDispatcher dispat = req.getRequestDispatcher("/responsable.jsp");
                    dispat.forward(req,res);
              }
            else 
                { 
                  RequestDispatcher dispat = req.getRequestDispatcher("/erreur_login.jsp");
                  dispat.forward(req,res);
                }
              }
     
          RS.close();
          commande.close();
        }
      catch(ClassNotFoundException e){
          out.println("Couldn't load database driver: " + e.getMessage());
        }
        catch(SQLException e){
          out.println("SQLException caught: " + e.getMessage());
        }
        catch (Exception e){
          out.println(e);
        }
        finally {
                try {
            if (connection != null) connection.close();
          }
          catch (SQLException ignored){
            out.println(ignored);
          }
        }
      }
    }
    quand j'execute mon code il me méne directement vers page erreur erreur_login.jsp

    dans mon formulaire login.jsp on saisi le nom le motpasse et la profession qui est soi client soit responsable et selon la profession il mene vers deux pages diffirentes.sionon vers une page erreur.
    mais dans tous les cas il mene vers page erreur et je sais pas ou est le prob

    j'espere que c'est clair. et merci beaucoup

  2. #2
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut probleme d'authentification jsp/servlet mysql
    Bonjour,
    fais surtout attention aux blanc, utilises TRIM().
    et aussi ecris profession.equals("responsable")) au lieu de "responsable".equals(profession) bien sur ajouter la méthode TRIM()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (nom.equals(RS.getString("nom")) && passe.equals(RS.getString("passe")) && profession.equals("responsable"))

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 109
    Par défaut
    Pour ça

    "aussi ecris profession.equals("responsable")) au lieu de "responsable".equals(profession) "

    pour plus de clarification concernant responsable et profession:
    j'ai une table client où il y a nom, prenom, age, passe, profession. lors de remplissage de cette table je met pour profession deux choses soi client soi responsable.

    c'est pour ça que je met ces deux if
    if (nom.equals(RS.getString("nom")) && passe.equals(RS.getString("passe")) && "client".equals(profession))

    if (nom.equals(RS.getString("nom")) && passe.equals(RS.getString("passe")) && "responsable".equals(profession))



    et merci

  4. #4
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut probleme d'authentification jsp/servlet mysql
    Fais un System.out.println de ces variables nom, profession et profession ainsi que leurs taille avec l'attribut Length. juste avant le 2em IF puis tu compares...

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 109
    Par défaut
    Dans cette aprtie là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResultSet RS = commande.executeQuery("SELECT nom,passe,profession FROM client");
    je veux ajouter à ma requete select un where qui va faire une comparaison entre les champs saisi dans mon formulaire de ma page jsp et ceux qui existe dans la table client
    comme ça : SELECT nom,passe,profession FROM client WHERE champSaisi= champsDansBD
    mais je sais pas comment le faire
    j'espere que c possible
    et merci

  6. #6
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    C'est à croire que tu ne lis pas les réponses que l'on te donne car Mengué georges t'a donné la solution précédemment.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Au lieu de scruter tte ta table ajoute une clause à ta rqte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ResultSet RS = commande.executeQuery("SELECT nom,passe,profession FROM client WHERE nom = '"+nom+"' AND passe = '"+passe+"'");
    comme ça si tu as un enregistrement en retout le log est ok sinon erreur de log

Discussions similaires

  1. JSP/Servlet+MySQL et application distribuée
    Par amnass dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 11/05/2012, 10h44
  2. Problème d'encodage JSP/Servlet/MySQL
    Par AlexLEDE dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 28/05/2009, 15h13
  3. jsp servlet EJB3 Mysql
    Par Smix007 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/12/2006, 20h36
  4. Dreamweaver, JSP, Servlet, mySQL, AJAX
    Par vinceLeBarbare dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 12/08/2006, 01h55
  5. [débutante]Probleme de liens image dans JSP/Servlet
    Par celine31 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/11/2004, 15h51

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