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

Struts 1 Java Discussion :

Erreur java. lang.NullPointerException


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 58
    Points
    58
    Par défaut Erreur java. lang.NullPointerException
    Aidez moi Svp , je comprend pas cette erreur : voici ce qui me donne:le traitement que je fais est un acces a un fichier xml avec Jdom , j'utilise une Javabean que j'instancie dans une page jsp .
    cause mère

    java.lang.NullPointerException
    rom.Liste_msg.liste(Liste_msg.java:100)
    org.apache.jsp.vues.Liste_005fmsg_jsp._jspService(Liste_005fmsg_jsp.java:72)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.20.
    je compte sur vous svp !! merci

  2. #2
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Il y a un NullPointerException dans la methode liste() de la classe rom.Liste_msg.liste à la ligne 100

  3. #3
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Ouaip suffit de lire c'est écrit

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 58
    Points
    58
    Par défaut d'accord mais..
    MErci les amis mais ecoutez, le probleme c'est que ca marche et ca s'execute et retourne les resultats dans ma classe java Liste_msg.java sans probleme , mais qunad je l'appelle depuis ma jsp c'est la ou ca pose probleme !!!
    vous avez une idee ?

  5. #5
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Ben compte-tenu des informations données.
    Je ne peux rien dire de plus ce qui est dans la stack......
    Un peu de code (fragment de la jsp Liste_005fmsg.jsp, la methode liste de la classe Liste_msg.java) pourrait aider

  6. #6
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 58
    Points
    58
    Par défaut j'en sai rien
    mais ecoutez , je vous dis qu'il n y a rien dans la classe java , si tu veux je t'envoi le code et tu l'examine , tu me donne un mail si tu vx , tu as tomcat c'est ca ?

  7. #7
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 58
    Points
    58
    Par défaut ok voici mon code :
    ceci est le code Liste_msg.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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    package rom;
    import java.io.*;
    import org.jdom.*;
    import org.jdom.input.*;
    import org.jdom.output.*;
    import java.util.List;
    import java.util.Iterator;
     
    public class Liste_msg
    {
    static org.jdom.Document document;
    static Element racine;
    public static String auteur; 
    public static String message;
    public static String room;
    public static String proprietaire;
    public static int a=1;
    public static int a2=3;
    public static void main(String[] args)
    {
    try	{
    	lireFichier("forum.xml");
    	//int room=liste("java");
    //	System.out.println("taille : "+liste_room());
      //liste2();
      liste_room();
      System.out.println("propri="+proprietaire+" room="+room);
        }
        catch(Exception e){System.out.println("Message d'erreur ::"+e.getMessage());}
     
    }
     
    public static void lireFichier(String fichier) throws Exception
    {
    SAXBuilder sxb = new SAXBuilder();
    document = sxb.build(new File(fichier));
    racine = document.getRootElement();
    }
     
    static void enregistreFichier(String fichier) throws Exception
    {
    XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
    sortie.output(document, new FileOutputStream(fichier));
    }
    public static int nbr_room()
    {
      List lesrooms = racine.getChildren("room");
      Iterator i = lesrooms.iterator();
      return(lesrooms.size());	
    }
    public static void liste_room()
    {
      List lesrooms = racine.getChildren("room");
      Iterator i = lesrooms.iterator();
      int taille=lesrooms.size();
      int c=0;
      while (i.hasNext())
       {
       	Element courant =(Element)i.next();
       	c++;
    	if (c==a2)
       	{
       	room=courant.getAttribute("nom").getValue();
       	proprietaire=courant.getAttribute("proprietaire").getValue();
     
       	}
       }
    //return taille;
    }
    /*public static int liste2() 
    {
    String p="Room inexistante !!";
    System.out.println("bonjour");
    System.out.println("L'element racine est :" + racine.getName());
    List lesrooms = racine.getChildren("room");
    int taille=lesrooms.size();
    Iterator i = lesrooms.iterator();
    while(i.hasNext())
      {
        	Element courant = (Element)i.next();
      	  
    	   System.out.println("Le proprietaire de cette room est :"+courant.getAttribute("proprietaire").getValue());
    	   p=courant.getAttribute("proprietaire").getValue();
    	   System.out.println(p);
     
      }
      return taille;
    }*/ 
    public static int liste(String room) 
    {
    String p="Room inexistante !!";
    int taille=0;
    System.out.println("bonjour");
    System.out.println("L'element racine est :" + racine.getName());
    List lesrooms = racine.getChildren("room");
    Iterator i = lesrooms.iterator();
    while(i.hasNext())
      {
    	Element courant = (Element)i.next();
    	if ( (courant.getAttribute("nom")).getValue().equals(room))
       	  {
    	   System.out.println("Le proprietaire de cette room est :"+courant.getAttribute("proprietaire").getValue());
    	   p=courant.getAttribute("proprietaire").getValue();
     
    	   List lesmsg = courant.getChildren("msg");
    	   taille=lesmsg.size();
    	   Iterator j = lesmsg.iterator();
     
    	   int c=0;
    	   while(j.hasNext())
    	   {
    	   Element msg = (Element)j.next();
    	   System.out.println("\n\n");
    	   System.out.print("auteur :"+msg.getAttribute("auteur").getValue());
    	   System.out.print("message:"+msg.getText());
    	   c++;
    	   if (c==a)
    	       {
    	        auteur=msg.getAttribute("auteur").getValue();
    	        message=msg.getText();
    	       }
    	   }
    	  }
      }
    return (taille);		
    }
    }
    celle la c'est la jsp qui utilise le bean :
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    <html>
    <title>Liste des messages</title>
    <body>
     
    <% String room = request.getParameter("room"); 
       //String s;
    %>
    <%@ page import = "rom.Liste_msg,org.jdom.*,org.jdom.input.*,org.jdom.output.*" %>
     
    <jsp:useBean id="l" class="rom.Liste_msg" scope="session"/>
    <jsp:setProperty name="l" property="*"/>
     
    <% 
    l.lireFichier("./webapps/Forum/WEB-INF/classes/forum.xml");
    room="java";
    int s=l.liste(room);
    //out.println("size"+s);
    //out.println(l.message+"---"+l.auteur);
    %><h3><% out.println("Liste des messages pour le salon : "+room);
    out.println("Il y a "+s+" message dans ce salon"); 
    %></h3>
    <p>
      <%
    %>
      <center>
    </p>
    <table width="404" border="1">
      <tr>
        <td width="107">Auteur</td>
        <td width="284"> Message</td>
      </tr>
      <tr>
        <td colspan="2"><table border="0">
          <tr>
            <td width="383"><table border="0" width="387">
                <%
     
    for (int i=1;i<=s;i++) 
    {
    l.a=i;
    s=l.liste(room);
    %>
              <tr>
                  <td width="100"><%        // auteur
                 out.println(l.auteur);  
               %>
                  </td>
                <td width="277"><%        // message
                out.println(l.message);
               %>
                  </td>
              </tr>
              <%
    }
     
     
    %>
            </table></td>
          </tr>
        </table></td>
      </tr>
    </table>
     
    </body>
    </html>
    et c'est le fichier forum.xml
    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <forum>
      <room nom="room_33" proprietaire="33">
        <msg auteur="c moi l'auteur">message pour 33</msg>
        <msg auteur="hicham">Encore mesg 33</msg>
      </room>
      <room nom="charaf" proprietaire="charaf">
        <msg auteur="aut1">msg 1</msg>
        <msg auteur="aut2">msg 2</msg>
        <msg auteur="aut3">msg 3</msg>
      </room>
      <room nom="java" proprietaire="driss">
        <msg auteur="oumnia">salut developpeurs java</msg>
        <msg auteur="auteur hicham">j'ai une petite question...</msg>
        <msg auteur="nabil">java c interressant !!</msg>
        <msg auteur="walid">walid java R4</msg>
        <msg auteur="encore un salon">mm</msg>
        <msg auteur="encore un salon">mm</msg>
        <msg auteur="nom">msg</msg>
      </room>
      <room nom="Crypto" proprietaire="youssef" />
      <room nom="XML" proprietaire="youssef" />
      <room nom="dernier salon" proprietaire="youssef" />
      <room nom="dernier salon" proprietaire="youssef" />
      <room nom="encore" proprietaire="youssef" />
      <room nom="coucou" proprietaire="youssef" />
      <room nom="salon test" proprietaire="youssef" />
      <room nom="salon test" proprietaire="youssef" />
      <room nom="s" proprietaire="youssef" />
      <room nom="s" proprietaire="youssef" />
      <room />
      <room />
    </forum>

  8. #8
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Ouch ça pique !
    Et si tu nous disais quelle est la ligne "Liste_msg.java:100" ça aiderait aussi
    Enfin, les conventions de nommage, c'est bien !!!

  9. #9
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    intuitivement, je pense que le problème vient de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    l.lireFichier("./webapps/Forum/WEB-INF/classes/forum.xml");
    room="java";
    int s=l.liste(room);
    car entre le source de la jsp et le code exécuté il y a des changements au niveau des chemins. assure toi qu'il trouve le fichier.

  10. #10
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    +1!
    Utilise plutôt le classloader et son getResource ...

  11. #11
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 78
    Points : 58
    Points
    58
    Par défaut pas de probleme de chemin
    en fait il reconnait le fichier ss pb , j'ai tt essayer
    le malheure c'est que tt marchait bien avant et sans toucher a rien s'est devenu comme ca , meme des classes ancienne que j'ai faites pour login
    j ai peur q ca soit un probleme de tomcat ou jdk , j ai reinstalle tomcat mais walooo
    si vous pouvez essayer ce code chez vous stp

  12. #12
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut bloqué
    bonjour , je suis actuellement en 1ere année de licence et j'ai un projet sur lequel je suis bloqué par l'affichage suivant :Exception in thread main java.lang.NullPointerException
    at debut.estprioritaire(debut.java:247)
    at debut.evaluation(debut.java:59)
    at debut.main(debut.java:16)



    je vous donne mon programme :


    je compte sur vous!merci!
    Fichiers attachés Fichiers attachés

  13. #13
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Bonjour,
    la ligne 247 étant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
             if ((premier.equals("*"))||(premier.equals("/")))  {
    je pense que premier est null.

  14. #14
    Membre habitué
    Inscrit en
    Juin 2005
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 275
    Points : 186
    Points
    186
    Par défaut
    Tu as tout compris : étant donné que "premier" est null, il ne peut pas appeler la méthode equals.

    tu dois tester la nullité de premier avant ton test. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(premier!=null && (premier.equals("*"))||(premier.equals("/"))){
     
    }
    abertaud
    ---------

    - pas de réponse technique en PV, utilisez les forums
    - si vous trouvez seuls la solution, n'abandonnez pas votre post, mettez-le à jour pour les autres
    - le tag est parfois en voie d'extinction, participez à sa survie

  15. #15
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Salut,
    moi aussi je suis tombé sur une erreur de meme type,

    java.lang.NullPointerException
    Metier.DAO.DAOUtilisateur.Authentifier(DAOUtilisateur.java:23)
    Controleur.Authentification.processRequest(Authentification.java:43)
    Controleur.Authentification.doGet(Authentification.java:63)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    pouvez-vous m'aider a resoudre le probleme ?

    merci beaucoup

  16. #16
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    dans la class DAOUtilisateur j'ai :

    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
    package Metier.DAO;
     
    import Metier.BO.Utilisateur;
    import Metier.Connexion;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.sql.SQLException;
     
    /
    public class DAOUtilisateur implements IUtilisateur{
     
        public boolean Authentifier(Utilisateur u) {
            try{
                String sql="SELECT * FROM UTILISATEUR WHERE LOGIN='"+u.getLogin()+"' AND Password='"+u.getPassword()+"'";
                Statement sc = Connexion.con.createStatement(); >>Ligne 23
                ResultSet rs = sc.executeQuery(sql);
                return rs.next();
            }catch(SQLException e){
              e.printStackTrace();
              return false;
            }
        }
     
     
    }

  17. #17
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    D'après le message d'erreur, Connexion.con est null.

    Tu devrais donc plutôt ouvrir une discussion dans le forum JDBC.
    Modératrice Java - Struts, Servlets/JSP, ...

  18. #18
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci bcp c_nvy pour votre reponse

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

Discussions similaires

  1. Erreur java.lang.NullPointerException hibernate
    Par sousoujda2 dans le forum Hibernate
    Réponses: 8
    Dernier message: 11/03/2008, 19h32
  2. Réponses: 0
    Dernier message: 26/12/2007, 17h28
  3. Réponses: 32
    Dernier message: 20/04/2007, 21h56
  4. [Débutant] Erreur java.lang.NullPointerException
    Par Kevin12 dans le forum Struts 1
    Réponses: 2
    Dernier message: 12/02/2007, 15h48
  5. Probleme erreur java.lang.NullPointerException
    Par Tsukaasa dans le forum Langage
    Réponses: 4
    Dernier message: 25/05/2006, 18h19

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