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 :

Application WEB Java (jsp = base de données)


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    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
    Par défaut Application WEB Java (jsp = base de données)
    Bonjour,

    Voici quelques jours que je suis coincé avec mon site sur la partie enregistrement d'un nouvel utilisateur à cause de la connection avec ma base de données. J'ai établi une base simple avec une seule table pour le moment (user) afin de pouvoir procéder a l'enregistrement d'une nouvelle personne.

    J'y ai placer 3 champs (id, login, password), j'ai créer ma page jsp qui m'affiche un formulaire avec 3 champs ( le premier récupère le nom, le second le mot de passe et le 3eme la confirmation du mot de passe).
    Lorsque je clique sur le bouton de validation j'active mon servlet qui dans la methode dopost récupére les données et effectue une condition, pour le moment si les 3 champs sont rempli il doit se connecter a la base Mysql de mon wamp puis insérer les elements dans la table user. J'ai suivi plusieurs tuto mais rien n'y fait il m'affiche une erreur 500 ou passe directement a la redirection vers la page test. Je vous met mon code pour illustrer ce que je vous ai expliqué.

    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
    15
    16
    17
     
    <body>
    <%@ include file="/header.jsp" %>
    <h3>Enregistrement</h3>
     
    <div align="center">
       <form action="RegisterServlet" method="post">
          login : <input type="text" name="login" /> <br>
          password : <input type="text" name="password" /><br>
          confirm password : <input type="text" name="passworda" /><br>
          <input type="submit" value="connexion" />
       </form>
    </div>
    <%@ include file="/footer.jsp" %>
    </body>
    </html>
    </html>
    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
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
    		String log = request.getParameter("login");
    		String password = request.getParameter("password");
    		String passworda = request.getParameter("passworda");
    		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;
     
    		if (log!="" && password!="" && passworda!=""){
    		//session.setAttribute("login", login);
    		//session.setAttribute("password", password);
    		//response.sendRedirect("/listl");
     
     
    			try {
    				Class.forName("com.mysql.jdbc.Driver");
    				cn = DriverManager.getConnection(url, login, passwd);
    				st = cn.createStatement();
    				//String sql = "INSERT INTO 'user' ( 'login', 'password') VALUES ('"+ log +"','"+ password +"')";
    				String sql = "INSERT INTO 'user' ( 'login', 'password') VALUES ('c@gmail.com','azerty')";
    				st.executeUpdate(sql);
     
    			} catch (SQLException e)
    			{
    				e.printStackTrace();
    			}catch (ClassNotFoundException e)
    			{
    				e.printStackTrace();				
    			}finally {
    				try {
    					cn.close();
    					st.close();
    					}catch (SQLException e)
    					{
    						e.printStackTrace();
    					}
    			}
     
    			response.sendRedirect("test.html");
     
     
    	}
    		else 
    		{
    			response.sendRedirect("register.jsp");
    }
    }
    	}
    Merci d'avance de prendre un peu de temps pour m'aider. Bonne journée a vous

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 623
    Par défaut
    Salut,
    Il faudrait que tu regarde dans les logs pour connaître l'erreur exacte.

  3. #3
    Membre Expert
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Par défaut
    Plop,

    Tout dabord la méthode getParameter ne renvoie pas un "" si le paramètre n'existe pas, mais null.

    Javadoc
    Returns the value of a request parameter as a String, or null if the parameter does not exist.
    De plus, ta requête SQL devrait contenir le 3ème champ dans le VALUES avec NULL comme première valeur. Je présume que ton identifiant est en auto-incrementation, alors ta requête pourrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO user VALUES (NULL, 'c@gmail.com','azerty')
    Ensuite, es-tu sur d'avoir bel et bien mis le driver JDBC de MySQL dans WEB-INF/lib/ lorsque tu déploies ton application, et pas uniquement dans le classpath d'Eclipse ?

    La base de données est bien lancée ? Les identifiants que tu as mis sont-ils corrects ?

    Enfin, serait-il possible d'avoir l'erreur ?

  4. #4
    Membre averti
    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
    Par défaut
    Bonjour,
    Merci d'avoir pris le temps de regarder mon probleme

    Je viens de tester la solution proposer par olivier.pitton et miracle ça fonctionne!
    Je devais simplement avoir une erreur dans ma requête mais vous m'avez sauvé =) je débute au niveau de java (plus orienté vers html /html 5 et php) ^^ et ça me rassure de voir que les forums peuvent réellement aider

    Un grand merci.

    Bon dimanche a vous

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/10/2013, 12h25
  2. Réponses: 5
    Dernier message: 10/12/2007, 19h41
  3. Réponses: 1
    Dernier message: 09/03/2007, 11h38
  4. Conseils Application serveur JAVA et base de données.
    Par Neutrino- dans le forum Persistance des données
    Réponses: 7
    Dernier message: 23/01/2007, 12h22
  5. Chiffrage application web java jsp hibernate
    Par padraig29 dans le forum Devis
    Réponses: 1
    Dernier message: 20/11/2006, 15h07

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