Posez votre question Signaler

Erreur 500 : Le serveur a rencontré une erreur

zahrahhh 16Messages postés mardi 18 juin 2013Date d'inscription 30 août 2013 Dernière intervention - Dernière réponse le 25 août 2013 à 23:07
Bonjour,
j'ai rencontrer lors de l'exécution de mon projet une erreur interne (500)
Voici mon script t l'erreur et exactement dans la ligne 47
Donnees_login.java

package modele;
 
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
 
 
 
public class Donnees_Login {
    private Connection con=null;
    private PreparedStatement st=null;
    private ResultSet rs=null;
 
 
    public Donnees_Login() {
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            con=DriverManager.getConnection("jdbc:mysql://localhost:8080/banque","","");
        }
        catch(ClassNotFoundException ex)
        {
            System.out.println("Probleme de pilote base de donnèes");
            System.out.println(ex.getMessage());
        }
        catch(SQLException ex)
        {
            System.out.println("Probleme de connexion ou de requetes");
            System.out.println(ex.getMessage());
        }
 
 
    }
 
 
 
 
    public ArrayList<Login> RechercheUser(String user, String passe)
    {
         ArrayList <Login> liste=new ArrayList<Login>();
        try
        {
            st=con.prepareStatement("select * from login where utilisateur=? and mpasse=?");
            st.setString(1,user);
            st.setString(2, passe);
 
            rs=st.executeQuery();
            while(rs.next())
            {
                Login l=new Login();
 
                l.setNuml(rs.getInt("numl"));
                l.setNomprenom(rs.getString("nomprenom"));
                l.setUtilisateur(rs.getString("utilisateur"));
                l.setMpasse(rs.getString("mpasse"));
                l.setNiveau(rs.getInt("niveau"));
                liste.add(l);
 
            }
 
        }
        catch(SQLException ex)
        {
            System.out.println(ex.getMessage());
        }
        return liste;
    }
 
 
 
}

Aidez-moi SVP!!!
Lire la suite 
Réponse
+1
moins plus
Tu as filtré tes exceptions avec un try/catch mais sans rien faire d'autres qu'un affichage de l'erreur, du coup "con" ne s'initialise pas dans le constructeur Donnees_Login mais malgré ça tu continues quand même ton programme, qui va quand même planter tôt ou tard lorsque tu utilises "con" sur ton prepareStatement.

Commences donc par corriger tes erreurs d'initialisation en regardant les messages d'erreurs qui concernent ton constructeur, c'est à dire ta connexion à la base de données qui plante (mauvais nom d'utilisateur ?)
KX 11774Messages postés samedi 31 mai 2008Date d'inscription ContributeurStatut 30 juillet 2015 Dernière intervention - 29 juin 2013 à 21:35
Ton prepareStatement est correct, le problème c'est que tu ne peux pas l'utiliser avec "con" alors que celui-ci n'a pas de valeur (il vaut null) puisque le connexion n'a pas réussi.
Il faut que tu regardes dans le log de ton serveur, tu y verras apparaître les messages d'erreurs que tu y a mis lorsque tu as fait "System.out.println" en particulier ceux qui détaillent l'exception qui a été levée, c'est à dire les "ex.getMessage"...
Répondre
zahrahhh 16Messages postés mardi 18 juin 2013Date d'inscription 30 août 2013 Dernière intervention zahrahhh - 29 juin 2013 à 21:39
J'ai compris alors il faut que je modifie l'initialisation du "con" par la valeur null ou l'enlevé pour que ça marchera??
Répondre
KX 11774Messages postés samedi 31 mai 2008Date d'inscription ContributeurStatut 30 juillet 2015 Dernière intervention zahrahhh - 29 juin 2013 à 21:48
Non, ça ne suffira pas, parce que l'initialisation du "con" se fait dans le constructeur Donnees_Login qui plante, or quand tu as une erreur dans ton programme, tu fais un affichage System.out.println pour avoir le détail de cette erreur. Il faudrait donc que tu ailles lire cette erreur, pour savoir pourquoi ça plante, c'est à dire pourquoi la connexion ne s'est pas faite.

Une fois seulement que tu sauras pourquoi ça ne marche pas tu pourras envisager de corriger ceci ou cela, mais il faut d'abord que tu utilises ce message d'erreur, c'est à ça qu'il sert !
Répondre
zahrahhh 16Messages postés mardi 18 juin 2013Date d'inscription 30 août 2013 Dernière intervention - 29 juin 2013 à 21:57
Moi je trouve que le problème est sur la connexion avec la base de donné cad avec le driver: ("con=DriverManager.getConnection("jdbc:mysql://localhost:127.0.0.1/banque","","");")
car lorsque je lance le serveur tomcat,il m'affiche cette erreur:
description Le serveur a rencontré une erreur interne qui l'a empêché de satisfaire la requête.

exception

java.lang.NullPointerException
modele.Donnees_Login.RechercheUser(Donnees_Login.java:47)
controleur.TraiteLogin.doPost(TraiteLogin.java:65)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Répondre
KX 11774Messages postés samedi 31 mai 2008Date d'inscription ContributeurStatut 30 juillet 2015 Dernière intervention - 29 juin 2013 à 22:06
Bien sûr que c'est sur cette ligne là, je n'arrête pas de le dire !
C'est d'ailleurs parce qu'il y a cette erreur que tu as "con" qui vaut null d'où le NullPointerException

Mais vu ton code, puisque tu as une erreur sur cette ligne là, tu devrais avoir dans ton fichier log le message "Probleme de connexion ou de requetes" que tu as affiché avec System.out.println, et surtout, ce qui nous intéresse, le ex.getMessage() qui détaille le problème.
Vas regarder, dans le fichier log, le détail de cette exception, parce que sinon tu ne sauras jamais qu'est-ce qui s'est mal passé, car là tu ne regardes un NullPointerException qui n'est qu'une erreur secondaire puisque tu as mal géré la première (ton try/catch avec un simple affichage n'est clairement pas pertinent ici).
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
bonsoir,
j'ai essayer de corriger l'erreur et exécuter correctement mais j'arrive pas car je suis débutante et je veux m'avancer a travers cette application alors je me demande si tu peut mieux m'aider s'il te plait car c'est très intéressant pour moi.
Merci d'avance!!
Ajouter un commentaire
Ce document intitulé «  Erreur 500 : Le serveur a rencontré une erreur  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.