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 :

mon erreur est : javax.servlet.ServletException: java.sql.SQLException


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut mon erreur est : javax.servlet.ServletException: java.sql.SQLException
    bonjour,
    je reçois cet erreur lors de mon exécution et je ne trouve toujours pas une solution
    et voila le code source de la page d'index:
    index.jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form method="post" action="response3.jsp">
                  <p><input type="hidden" name="rememberme" value="0" /></p>
                  <fieldset>
                    <p><label for="username_2" class="top">User:</label><br />
                      <input type="text" name="username_2" id="username_2" tabindex="1" class="field" onkeypress="return webLoginEnter(document.loginfrm.password);" value="" /></p>
        	        <p><label for="password_2" class="top">Password:</label><br />
                      <input type="password" name="password_2" id="password_2" tabindex="2" class="field" onkeypress="return webLoginEnter(document.loginfrm.cmdweblogin);" value="" /></p>
        	        <p><input type="checkbox" name="checkbox" id="checkbox_2" class="checkbox" tabindex="3" size="1" value="" onclick="webLoginCheckRemember()" /><label for="checkbox_1" class="right">Remember me</label></p>
        	        <p><input type="submit" name="cmdweblogin" class="button" value="LOGIN"  /></p>
    	            <p><a href="#" onclick="webLoginShowForm(2);return false;" id="forgotpsswd_2">Password forgotten?</a></p>
    	          </fieldset>
                </form>
    et la page de réponse:
    response3.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
    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
    <%-- 
        Document   : response3
        Created on : 10 juin 2011, 12:25:00
        Author     : BiLLeL
    --%>
     
    <%@ page import ="java.sql.*" %>
    <%@ page import ="javax.sql.*" %>
    <jsp:useBean id="Etudiant" scope="request" class="etudiant.Etudiant"/>
    <%
    String id=request.getParameter("username_2");
    session.putValue("username_2",id);
    String pass=request.getParameter("password_2");
    Class.forName("com.mysql.jdbc.Driver");
    java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mcd","root","*****");
    Statement st= con.createStatement();
     ResultSet rs=st.executeQuery("select * from admin where id='"+id+"'");
     
    if(rs.next())
    {
      if(rs.getString(2).equals(pass))
      {
        rs.close();
        request.getRequestDispatcher("index2.jsp").forward(request, response);
      }
      else
      {
        out.println("Invalid password try again");
      }
    }
    rs.close();
     
    ResultSet rsx=st.executeQuery("select * from etud where id_etud='"+id+"'");
     
    Etudiant.setNom(rsx.getString(3));
    if(rsx.next())
    {
      if(rsx.getString(2).equals(pass))
      {
        
        rsx.close();
        request.getRequestDispatcher("etudiant.jsp").forward(request, response);
        
        }
      else
      {
        out.println("Invalid password try again");
      }
    }
    rsx.close();
     
    %>
    et la page etudiant
    etudiant.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
    <%@ page import ="java.sql.*" %>
                            <%@ page import ="javax.sql.*" %>
                            <jsp:useBean id="Etudiant" scope="request" class="etudiant.Etudiant"/>
     
     
     
                            <%
     
                    if (request.getParameter("username_2")!= null)
     
                        {
                           
                           out.print("Bienvenue "+ Etudiant.getNom());
                    }
                    else
                    response.sendRedirect("index.jsp");
                %>
    et la classe Etudiant:
    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
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package etudiant;
     
    /**
     *
     * @author BiLLeL
     */
    public class Etudiant {
    	private String nom,prenom;
     
     
    public String getNom() {
    	return nom;
    	}
    public String getPrenom() {
    	return prenom;
    	}
    public void setNom(String n) {
    	this.nom=n;
    	}
    /**
     * Insert the method's description here.
     * Creation date: (26/12/2005 00:25:38)
     */
    public void setPrenom(String p) {
    	this.prenom=p;
    	}
    }
    Merci de vos réponses

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Les SQLException surviennent, à priori, lors d'une mauvaise requête faite à la base de donnée, dans ton cas je pense qu'il s'agit de tes select.
    Je ne sait pas comment est construite ta base de donnée, mais ce qui m'intrigue c'est que tu essaies de mettre des String dans id de la table admin et id_etud de la table etud, hors, généralement, les identifiants d'une table sont des entiers.

    J'espère que ça pourra t'aider.

    Cordialement.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Il faudrait le message complet de l'erreur, avec sa stacktrace. Tout ce qu'on peux te dre, c'est que t'as uen problème avec la DB.

  4. #4
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Re salut,
    Merci pour vos réponses
    sinon pour Simvetanylen: vous aviez raison a propos de l'identifiant était de type int et pas String j'ai fais quelques modifications en:
    Etudiant.java:
    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
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package etudiant;
     
    /**
     *
     * @author BiLLeL
     */
    public class Etudiant {
    	private int nom,prenom;
     
     
    public int getNom() {
    	return nom;
    	}
    public int getPrenom() {
    	return prenom;
    	}
    public void setNom(int n) {
    	this.nom=n;
    	}
    /**
     * Insert the method's description here.
     * Creation date: (26/12/2005 00:25:38)
     */
    public void setPrenom(int p) {
    	this.prenom=p;
    	}
    }
    et aussi sur response.jsp: j'ai changé seulement une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Etudiant.setNom(rsx.getInt(3));
    et voilà ma base de donnée:
    voila la table admin:

    et la table etud qui contient une clé étrangère d'une autre table:

    et voila la table étudiant dans la quelle j'ai mis la jointure:


    Voilà ce que je faire c'est d'avoir la clé étrangère de la table etud pour récupérer les cordonnées de la table étudiant

    Sion pour tchize: voial tout le message:
    type Exception report

    message

    descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

    exception

    javax.servlet.ServletException: java.sql.SQLException

    root cause

    java.sql.SQLException

    note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.

    Merci a vous

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Salut,

    Vous dites que vos identifiants sont des entiers, mais dans les tables que vous montrez, il s'agit manifestement de varchar (ce qui n'est absolument pas une bonne chose soit dit en passant). Vous avez également changé vos requêtes ou bien ce sont toujours les mêmes?

  6. #6
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    salut,
    bon pour les attributs alors que il y a des attributs qui sont de type int et des attributs de type varchar
    alors par exemple moi je doit afficher Bienvenue "le 3eme attributs de la table etud qui est un int" dans la page etudiant.jsp après la vérification des deux attributs id_etud et pass_etud de la table etud qui sont des varchars!
    voilà sinon je n'ai rien changé au niveau des requêtes.
    Normalement vous avez bien compris le problème et j'ai vraiment besoin d'avoir la solution dans les plus brefs délais, c'est une partie de mon projet de fin d'étude il me reste pas trop de temps, Merci de votre aide

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.
    Justement, c'est ce qu'on aimerait avoir

Discussions similaires

  1. Réponses: 13
    Dernier message: 14/12/2010, 10h19
  2. Réponses: 0
    Dernier message: 26/06/2010, 10h23
  3. [Framework] erreur springframework javax.servlet.ServletException
    Par molesqualeux dans le forum Spring
    Réponses: 3
    Dernier message: 23/03/2010, 22h58
  4. Réponses: 6
    Dernier message: 03/03/2009, 14h30
  5. javax.servlet.ServletException: Java heap space
    Par zakiazaza dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 07/10/2008, 16h01

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