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 :

Message d'erreur sur valeur "Null"


Sujet :

Servlets/JSP Java

  1. #1
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut Message d'erreur sur valeur "Null"
    salut tout le monde
    j'ai une application mais j'ai un message d'erreur
    voila le code
    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
     
     
    import java.io.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class consulter extends HttpServlet
      {
      private Connection  con;
      private PrintWriter out;
      public void init(ServletConfig conf) throws ServletException
        {
        super.init(conf);
        try
          {
        	//connexion 
     
           }
        catch(Exception e)
          {
          System.out.println("erreur "+e);
          }
        }
      public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
        {
        res.setContentType("text/html");
        try
          {
          out = res.getWriter();
          String pseudo ="";
      pseudo =req.getParameter("nom"); 
          System.out.println("code "+pseudo);
     
       Statement instruction = con.createStatement();
           String sql = "  select code FROM test  ";
    	  ResultSet resultat1 = instruction.executeQuery(sql);
    	  String valeur1;
     
    	  while (resultat1.next()) {
     
    	  valeur1= resultat1.getString("code");
    	   if((valeur1.equals(pseudo))){
    		   System.out.println("valeur est trouvé");
     
    	  }
    	   }
    	      }
        catch(SQLException e)
        {
        out.println("Exception SQL"+ e);
        }
     
        catch(IOException e)
          {
          }
        }
      public void destroy()
        {
        try
          {
          con.close();
          }
        catch(SQLException e)
          {
            ;
          }
        }
      }
    le problème avec cette partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      if((valeur1.equals(pseudo))){
    		   System.out.println("valeur est trouvé");
     
    	  }
    voila le message d'erreur


    type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    java.lang.NullPointerException
    consulter.service(consulter.java:52)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)




    merci d'avance

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Si la ligne 52 est bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     if((valeur1.equals(pseudo))){
    cela signifie que valeur1 est parfois null. Tu devrais le tester en faisant par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     if(valeur1 != null && valeur1.equals(pseudo)){
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  3. #3
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut
    je veux que si le test est juste alors sortir de la boucle

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    C'est a dire? Sortir du while?
    Dans ce cas tu peux faire un truc de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    boolean trouve = false;
    while (resultat1.next() && !trouve) {
     
    	  valeur1= resultat1.getString("code");
    	   if(valeur1 != null && valeur1.equals(pseudo)){
    		  trouve = true;
     
    	  }
    	   }
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut
    merci je veux bien finaliser le code
    voila
    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
     
     
    import java.io.*;
    import java.sql.*;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class consulter extends HttpServlet
      {
      private Connection  con;
      private PrintWriter out;
      public void init(ServletConfig conf) throws ServletException
        {
        super.init(conf);
        try
          {
        	 //connexion 
     
           }
        catch(Exception e)
          {
          System.out.println("erreur "+e);
          }
        }
      public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
        {
        res.setContentType("text/html");
        try
          {
          out = res.getWriter();
          String pseudo ="";
     
          out.println("<html>");
          out.println("<head><title>Enregistrement coordonnées</title></head>");
          out.println("<body >");
          out.println("<h2>Enregistrement de vos coordonnées effectué</h2>" +
          		" +<form name=formulaire action=http://localhost:8080/test/consulter method=post >" +
    "nom  <label>" +"<input name=nom type=text size=30 tabindex=1> </label>" +
         "<p><label><input type=submit name=Submit value=Envoyer /></label>" +
    " </p> </form>");
     
          pseudo =req.getParameter("nom"); 
     
     
          Statement instruction = con.createStatement();
           String sql = "  select code,nom FROM test2  ";
    	  ResultSet resultat1 = instruction.executeQuery(sql);
    	  String valeur1;
     
     
    	  boolean trouve = false;
    	  while (resultat1.next() && !trouve) {
     
    	  	  valeur1= resultat1.getString("nom");
    	  	   if(valeur1 != null && valeur1.equals(pseudo)){
    	  		  trouve = true;
    	  		  System.out.println("valeur est trouvé");
    	  		 req.getRequestDispatcher("/test.html").forward(req,res);   
    	  	  }
     
     
    	  	   }
     
     
     
     
     
     
          }
        catch(SQLException e)
        {
        out.println("Exception SQL"+ e);
        }
     
        catch(IOException e)
          {
          }
        out.println("</body></html>");
     
        }
      public void destroy()
        {
        try
          {
          con.close();
          }
        catch(SQLException e)
          {
            ;
          }
        }
      }
    après le test et la sortie de la boucle ça veut dire que la valeur n'est pas trouvé je veux afficher un message juste devant input qui indique que la le champs est incorrect ;juste à coté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name=nom type=text size=30 tabindex=1>
    merci

  6. #6
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Si je comprend bien tu veux faire ça
    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
     
    import java.io.*;
    import java.sql.*;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class consulter extends HttpServlet
      {
      private Connection  con;
      private PrintWriter out;
      public void init(ServletConfig conf) throws ServletException
        {
        super.init(conf);
        try
          {
        	 //connexion 
     
           }
        catch(Exception e)
          {
          System.out.println("erreur "+e);
          }
        }
      public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
        {
        res.setContentType("text/html");
        try
          {
          out = res.getWriter();
          String pseudo ="";
     
          out.println("<html>");
          out.println("<head><title>Enregistrement coordonnées</title></head>");
          out.println("<body >");
          out.println("<h2>Enregistrement de vos coordonnées effectué</h2>" +
          		" +<form name=formulaire action=http://localhost:8080/test/consulter method=post >" +
    "nom  <label>" +"<input name=nom type=text size=30 tabindex=1></label>");
     
          pseudo =req.getParameter("nom"); 
     
     
          Statement instruction = con.createStatement();
           String sql = "  select code,nom FROM test2  ";
    	  ResultSet resultat1 = instruction.executeQuery(sql);
    	  String valeur1;
     
     
    	  boolean trouve = false;
    	  while (resultat1.next() && !trouve) {
     
    	  	  valeur1= resultat1.getString("nom");
    	  	   if(valeur1 != null && valeur1.equals(pseudo)){
    	  		  trouve = true;
    	  		  out.println( "<p><label><input type=submit name=Submit 	  		  value=Envoyer /></label>" +
    	  		  " </p> </form>");
    	  		  System.out.println("valeur est trouvé");
    	  		 req.getRequestDispatcher("/test.html").forward(req,res);   
    	  	  }
     
     
    	  	   }
    	       out.println( "Message d'erreur <p><label><input type=submit name=Submit 	  		  value=Envoyer /></label>" +
    	  		  " </p> </form>");
     
     
     
     
     
          }
        catch(SQLException e)
        {
        out.println("Exception SQL"+ e);
        }
     
        catch(IOException e)
          {
          }
        out.println("</body></html>");
     
        }
      public void destroy()
        {
        try
          {
          con.close();
          }
        catch(SQLException e)
          {
            ;
          }
        }
      }
    Je ne suis pas sur d'avoir compris ce que tu veux.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  7. #7
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut
    non je veux afficher message d'erreur juste à coté d'input de formulaire

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/04/2014, 14h54
  2. Réponses: 10
    Dernier message: 21/10/2013, 20h19
  3. [CR10] Pquoi absence du message d'erreur sur les Nulls ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 30/11/2004, 15h30

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