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 formulaire qui vérifie login et pass d'un client


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut servlet formulaire qui vérifie login et pass d'un client
    Bonjour mesdames et messieurs, débutant en java j'ai essayé d'écrire une servelt qui récupère des données à partir d'un formulaire.
    la servlet se connecte à la base de données et regarde si les login et pass saisies par un potentiel client correspondent aux champs login et pass de la table client.
    Si les données saisies sont erronées, la servlet génère un message d'erreur, dans le cas contraire le message " votre demande a été prise en compte" s'affiche.

    pour le moment ma servlet génère un SQLException, voici le code:

    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
    package com.mon_pc;
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*; 
    import java.io.*; 
    
    public class EspaceClient extends HttpServlet
    {
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException
    { 
    	String title="Deposer un commentaire";
    	res.setContentType("text/html");
    	PrintWriter out = res.getWriter();
    		
    try  
    {
    	Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
            String dburl = "jdbc:odbc:donnes";
    	Connection con = DriverManager.getConnection(dburl,"","");
    	Statement stmt = con.createStatement();
    	String Login = req.getParameter("login");
    	String mpass = req.getParameter("pass");
    	ResultSet rs = stmt.executeQuery("Select * from client where      client.login="+Login+"and client.pass="+Pass);
    	String id="";
    	while (rs.next()){ id = (String)rs.getObject("id_client");}
    if (id.equals(""))
    	{			
            out.println("coordonnees incorrect veuillez reessayer");
                           " blabla : code du formulaire "		
    	} 
    else
    	{
    	out.println("<h2><div align=center>votre demande a ete prise en compte</div></h2>");
    	}	
    rs.close();
    out.close();             
    } 
    catch(SQLException e){out.println("erreur d'exception");}
    
    catch(ClassNotFoundException e) 
    { 
    	out.println("erreur de chargement"); 
    } 
    }
    }
    Mon log d'erreur est le suivant:
    !ENTRY org.eclipse.jdt.core 4 1008 2008-03-15 11:18:57.375
    !MESSAGE Cannot retrieve the attached javadoc for Class [in Class.class [in java.lang [in C:\Program Files\Java\jre1.6.0_04\lib\rt.jar]]]java.net.UnknownHostException: java.sun.com
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.net.NetworkClient.doConnect(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.http://www.protocol.http.HttpURLConn...Client(Unknown Source)
    at sun.net.http://www.protocol.http.HttpURLConn...onnect(Unknown Source)
    at sun.net.http://www.protocol.http.HttpURLConn...onnect(Unknown Source)
    at sun.net.http://www.protocol.http.HttpURLConn...Stream(Unknown Source)
    at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:742)
    at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1060)
    at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:554)
    at org.eclipse.jdt.ui.JavadocContentAccess.getHTMLContentReader(JavadocContentAccess.java:120)
    at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:176)
    at org.eclipse.jdt.internal.ui.text.java.hover.AbstractJavaEditorTextHover.getHoverInfo(AbstractJavaEditorTextHover.java:125)
    at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo(BestMatchHover.java:102)
    at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo(JavaEditorTextHoverProxy.java:69)
    at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:165)
    Je vous prie de bien vouloir m'aider. SVP

  2. #2
    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
    Le message d'erreur que tu as posté ne semble pas correspondre à ton problème mais en tout cas, l'ordre select est incorrect.

    Le login et le password étant de type String, il faut ajouter des simples quotes et ce ne serait pas plutôt login et pass plutôt que client.login et client.pass ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResultSet rs = stmt.executeQuery("select * from client where login='"+Login+"'and pass='"+Pass+"'");
    Petite remarque : si le select ne renvoie qu'une seule ligne, tu devrais remplacer le while (rs.next()) par un if (rs.next()) et si tu n'as besoin de tester que l'id_client, remplacer le select * par un select id_client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResultSet rs = stmt.executeQuery("select id_client from client where login='"+Login+"'and pass='"+Pass+"'");

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 124
    Par défaut
    Merci de m'avoir répondu, mais ça ne résout pas le problème ; mais j'ai remarqué que dans ecllipse quand je pose le curseur sur ResultSet =stmt.executeQuery(la requete), il me met en info bulle " an exception occurred while getting the javadoc. see log for details.

    Si cela vous dit quelque chose?
    par avance merci.

  4. #4
    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
    Pour ton problème de javadoc, jette un oeil à la FAQ ici mais c'est juste un warning et ce n'est pas ça qui provoque ton erreur.

    Je pencherais plutôt pour un problème d'url.

    Pourrais-tu essayer de coder l'url comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            String dburl = "jdbc:odbc:///donnes";

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/08/2012, 12h12
  2. Réponses: 9
    Dernier message: 03/05/2010, 13h54
  3. Valeur du formulaire qui ne passe pas
    Par philippef dans le forum Langage
    Réponses: 10
    Dernier message: 04/12/2008, 17h07
  4. Réponses: 5
    Dernier message: 23/06/2006, 14h22
  5. Réponses: 2
    Dernier message: 29/10/2003, 11h05

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