Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur dans le javabean

Sujet résolu
    23 décembre 2009 à 22:06:33

    Salut, tout d`abord merci de m`avoir aider pendant toute la derniere periode(je suis en mode projets :D ).En fait je realise un formulaire pour l`inscription a un site, je commence par mettre ce formulaire dans un JSP puis d`appeler un javabean qui doit verifier la validiter de tout le formulaire(adresse mail, etc) et puis de me rendre une variable booleanpour m`indiquer si les donnees du formulaire peuvent etre accepter ou bien refuser, cependant le serveur m`affiche cet erreur lors de l`appel du fichier JSP :
    org.apache.jasper.JasperException
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:346)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    root cause
    
    java.lang.NullPointerException
            beans.util.Inscription.checkMail(Inscription.java:49)
            beans.util.Inscription.getEtatFormulaire(Inscription.java:40)
            org.apache.jsp.inscription_jsp._jspService(inscription_jsp.java:105)
            org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
            org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
            org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
            org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
            javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.

    je pense que ces 2 lignes indiquent le probleme beans.util.Inscription.checkMail(Inscription.java:49)
    beans.util.Inscription.getEtatFormulaire(Inscription.java:40)

    mais j`arrive pas a rectifier l`erreur.Merci de m`avoir aider
    Inscription.java :
    package beans.util;
    import java.io.Serializable;
    public class Inscription implements java.io.Serializable{
    	//Definition des proprietes
    	private String nom;
    	private String prenom;
    	private String adrEle;
    	private String valAdrEle;
    	private String motDePasse;
    	private String valMotDePasse;
    	private boolean etatFormulaire;
    	//Definition des methodes d`acces en ecriture
    	public void setNom(String valeur)
    	{
    		nom=valeur;
    	}
    	public void setPrenom(String valeur)
    	{
    		prenom=valeur;
    	}
    		public void setAdrEle(String valeur)
    	{
    		adrEle=valeur;
    	}
    	public void setValAdrEle(String valeur)
    	{
    		valAdrEle=valeur;
    	}
    	public void setMotDePasse(String valeur)
    	{
    		motDePasse=valeur;
    	}
    		public void setValMotDePasse(String valeur)
    	{
    	    valMotDePasse=valeur;
    	}
    	//Definition des methodes d`acces en lecture
    	public boolean getEtatFormulaire()
    	{
    		if((checkMail()==false)||(checkPassWord()==false))
    		{etatFormulaire= false;}
    		else
    		{etatFormulaire= true;}
    		return etatFormulaire;
    	}
    	//Definition des methodes invisibles (metier)
    	private boolean checkMail()
    	{boolean test1=true;
    		if((adrEle.contains(""))||(adrEle.indexOf("@")==-1)||(adrEle.indexOf(".")<adrEle.indexOf("@"))||(adrEle.indexOf("@")==0))
    	test1=false;
    	if(adrEle.length()==0)
    	test1=false;
    	if(!adrEle.equals(valAdrEle))
    	test1=false;
    		return test1;
    	}
    	private boolean checkPassWord()
    	{
    		boolean test2=true;
    		if((motDePasse.length()==0)||(motDePasse.length()<5)||(!motDePasse.equals(valMotDePasse)))
    		test2=false;
    		return test2;
    	}
    	}
    

    inscription.jsp :
    <jsp:useBean id="insc" class="beans.util.Inscription"></jsp:useBean>
    <html>
    <body>
    <form action="inscription.jsp" method="post">
    <table width=50% border=0 align="center">
    <tr> 
          <td><font face=arial size="2">Nom : </td>
          <td><input type=texte size=10 name=nom></td>
    </tr>
    <tr>
          <td><font face=arial size="2">Prenom : </td>
          <td><input type=texte size=10 name=prenom></td>
    </tr>      
    <tr>
         <td><font face=arial size="2">Adresse electronique : </td>
         <td><input type=texte size=30 name=adrEle></td>
    </tr>
    <tr>
         <td><font face=arial size="2">Validation adresse electronique : </td>
         <td><input type=texte size=30 name=valAdrEle></td>
    </tr>   
    <tr>
         <td><font face=arial size="2">Mot de passe : </td>
         <td><input type=password size=20 name=motDePasse></td>
    </tr>
    <tr>
         <td><font face=arial size="2">Validation mot de passe : </td>
              <td><input type=password size=20 name=valMotDePasse></td>
    </tr>
    <tr>
         <td><input type=submit value="Valider"></td>
    </tr>
    <tr>   
         <td><input type=reset value="initialiser"></td>
    </tr>
    </table>
    </form>
    <jsp:setProperty name="insc" property="nom"/>
    <jsp:setProperty name="insc" property="prenom"/>
    <jsp:setProperty name="insc" property="adrEle"/>
    <jsp:setProperty name="insc" property="valAdrEle"/>
    <jsp:setProperty name="insc" property="motDePasse"/>
    <jsp:setProperty name="insc" property="valMotDePasse"/>
    <h1>l`etat du formulaire est : <jsp:getProperty name="insc" property="etatFormulaire"/></h1>
    </body>
    </html>
    
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      24 décembre 2009 à 9:50:06

      Il faut faire un test de nullité sur l'attribut adrEle
      private boolean checkMail()
      	{
                      if (adrEle == null) {
                             return false;
                      }
      		if((adrEle.contains(""))||(adrEle.indexOf("@")==-1)||(adrEle.indexOf(".")<adrEle.indexOf("@"))||(adrEle.indexOf("@")==0))
      	               return false;
      	         if(adrEle.length()==0)
      	               return false;
      	         if(!adrEle.equals(valAdrEle))
      	              return false;
      		 return true;
      	}
      

      • Partager sur Facebook
      • Partager sur Twitter
        24 décembre 2009 à 15:01:16

        Salut, j`ai esaayer de tester la nulliter de "adrEle" aussi bien de "motDePasse" mais sans progression, pourtant je vois pas a quoi sert ce test, en fait je veux afficher le formulaire puis de recuperer les parametres et les envoyer au javabean. Merci..
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          24 décembre 2009 à 15:23:33

          C'est utile parce qu'il te dit que tu as un null pointer exception. Donc une variable null sur la quelle tu essayer d'appeller une méthode. Il te donne la ligne ou y'a cette erreur soit :
          if((adrEle.contains(""))||(adrEle.indexOf("@")==-1)||(adrEle.indexOf(".")<adrEle.indexOf("@"))||(adrEle.indexOf("@")==0))
          

          Donc il faut faire un test de nullité.
          Mais si tu fais avec la logique de ton code ca plantera toujours je pense que tu as essayer :
          private boolean checkMail()
          {
                  boolean test1=true;
          	if(adrEle == null)
          		test1 = false;
          	if((adrEle.contains(""))||(adrEle.indexOf("@")==-1)||(adrEle.indexOf(".")<adrEle.indexOf("@"))||(adrEle.indexOf("@")==0))
                 		test1=false;
          	if(adrEle.length()==0)
          	test1=false;
          	if(!adrEle.equals(valAdrEle))
          		test1=false;
          	return test1;
          }
          

          Ce code plante il faut faire comme je t'ai déjà indiqué :
          private boolean checkMail() {
                  if (adrEle == null) {
                         return false;
                  }
          	if((adrEle.contains(""))||(adrEle.indexOf("@")==-1)||(adrEle.indexOf(".")<adrEle.indexOf("@"))||(adrEle.indexOf("@")==0))
                         return false;
                   if(adrEle.length()==0)
                        return false;
                   if(!adrEle.equals(valAdrEle))
                        return false;
          	 return true;
          }
          

          Car la tu sort de la méthode quand tu détectes que c'est pas bon.
          En plus ca va plus vide ^^
          • Partager sur Facebook
          • Partager sur Twitter

          erreur dans le javabean

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown