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

JDBC Java Discussion :

NullPointerException JEE JSF


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 75
    Par défaut NullPointerException JEE JSF
    salut

    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
     
    package com.intervention.jsf.dao;
     
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
     
     
    import com.intervention.jsf.util.DbConn;
     
    public class LoginDAO {
     
    	public static String validate(String user, String password) throws SQLException {
    		Connection con = null;
    		PreparedStatement ps = null;
    		String type="Undefined";
    			con = DbConn.connexion();
    			ps = con.prepareStatement("Select LOGIN, PASSWORD,type from INTERVENANT where LOGIN = ? and PASSWORD = ?");
    			ps.setString(1, user);
    			ps.setString(2, password);
    		    ResultSet rs = ps.executeQuery();
     
    			if (rs.next()) {
    				type=rs.getString(3);
    				return type;
    			}
    			// hna mli makaykonch chi user type tatkon null att nchofo blan
    			if(type == "Undefined")
     
     
    			return "fail";
     
     
     
     
     
    			return type;	
     
    			}
     
     
    }
    et

    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
     
    	public String validateUsernamePassword() throws SQLException {
    		String test=null;
    		String valid = LoginDAO.validate(login, password);
     
    		if (valid.equals("admin")) {
    			HttpSession session = SessionBean.getSession();
    			session.setAttribute("username", login);
    			test="admin";
    		} else  if (valid.equals("intervenant")) {
    			HttpSession session = SessionBean.getSession();
    			session.setAttribute("username", login);
    			test= "intervenant";
    		}
    		else if(valid.equals("false")) {
    			HttpSession session = SessionBean.getSession();
    			session.setAttribute("username", login);
    			test= "fail";
    		}
    		return test;
    l'erreur dis que ca viens de ces deux classes ci-dessus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Caused by: java.lang.NullPointerException
    	at com.intervention.jsf.dao.LoginDAO.validate(LoginDAO.java:18)
    	at com.intervention.jsf.beans.intervenant.validateUsernamePassword(intervenant.java:55)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:497)
    	at com.sun.el.parser.AstValue.invoke(AstValue.java:289)
    	at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)
    	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    	at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
    aider moi svp

  2. #2
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Caused by: java.lang.NullPointerException
    	at com.intervention.jsf.dao.LoginDAO.validate(LoginDAO.java:18)
    L'erreur indique que tu as un NPE à la ligne 18 de ta classe LoginDAO dans la méthode validate().

    Avec le décalage je ne suis pas certain de savoir quelle est la bonne ligne mais tu as 2 possibilités.

    -> con = DbConn.connexion();.
    On voit que l'erreur provient de la méthode connexion() de ta classe DbConn, donc sans ce code il va être difficile de t'aider.

    -> ps = con.prepareStatement("Select LOGIN, PASSWORD,type from INTERVENANT where LOGIN = ? and PASSWORD = ?");.
    Dans ce cas c'est que ton objet "con" est null ce qui indique que dans tous les cas il y a un problème dans ta méthode connexion().

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 75
    Par défaut
    voici le code de la classe DbConn

    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
     
    package com.intervention.jsf.util;
     
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.SQLException;
     
    /**
     * This program demonstrates how to establish database connection to Microsoft
     * SQL Server.
     * @author www.codejava.net
     *
     */
    public class DbConn {
     
        public static Connection connexion() {
     
            Connection conn = null;
     
            try {
     
                String dbURL = "jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;integratedSecurity=true";
                String user = "sa";
                String pass = "123456789";
                conn = DriverManager.getConnection(dbURL, user, pass);
                if (conn != null) {
                    DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();
                    System.out.println("Driver name: " + dm.getDriverName());
                    System.out.println("Driver version: " + dm.getDriverVersion());
                    System.out.println("Product name: " + dm.getDatabaseProductName());
                    System.out.println("Product version: " + dm.getDatabaseProductVersion());
                }
     
            } catch (SQLException ex) {
                ex.printStackTrace();
            } finally {
                try {
                    if (conn != null && !conn.isClosed()) {
                        conn.close();
                    }
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
            return conn;
        }
    }
    je suis vraiment bloquè
    j'utlise sql server 2014 et je suis connectè en mode sql, login : sa password :123456789
    j'ai inclus le driver de sql server dans le dossier lib de mon projet
    c ma premiere application web et c mon projet PFE de licence.. et le temp presse vraiment :/

  4. #4
    Membre chevronné
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2015
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2015
    Messages : 231
    Par défaut
    Bonjour,

    Tu peux mettre des points d'arrêt sur les bouts de code mentionnés par Nico02
    Tu verras rapidement ce qui est "Null" et provoque l'exception.
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Je ne vois pas la ligne de chargement du driver

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    Sans cette ligne effectivement ça ne risque pas de marcher.

    Dans tous les cas si ton code ne passe pas dans le bloc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (conn != null) {
      DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();
      System.out.println("Driver name: " + dm.getDriverName());
      System.out.println("Driver version: " + dm.getDriverVersion());
      System.out.println("Product name: " + dm.getDatabaseProductName());
      System.out.println("Product version: " + dm.getDatabaseProductVersion());
    }
    C'est que tu as un soucis au niveau de ta connexion à ta base.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 75
    Par défaut
    ouiii Justement Monsieur, j'ai un probleme pour la connexion avec la BDD sql server
    ca marchai très bien avec MySql ^^
    imagine ca fait 5 jours que je suis bloquè là..
    et j'ai ma soutenance le 10 juin donc 15 jours :/

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

Discussions similaires

  1. Erreur "java.lang.NullPointerException" avec JSF
    Par opium1er dans le forum JSF
    Réponses: 6
    Dernier message: 15/07/2013, 18h16
  2. Project Maven et JEE (JSF, JPA, , JTA,...)
    Par geforce dans le forum JPA
    Réponses: 1
    Dernier message: 25/02/2013, 09h57
  3. [JSF/EJB3 stateless] NullPointerException
    Par Yohips dans le forum JSF
    Réponses: 8
    Dernier message: 31/08/2009, 11h40
  4. Réponses: 0
    Dernier message: 25/08/2009, 16h38

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