NullPointerException

carpe

Aktives Mitglied
Hallo Leute,

weiss Jemand warum Ich einen NullPointerException bekomme.
Es liegt vermutlich in der If anweisung, Ich weiss aber nicht warum Ich eine Exception ausgegeben bekomme.
Es geht hier um die validierung der Formular eingaben.
Das Problem beschäftigt mich schon den ganzen Tag :).

Java:
String[] feldName = {strassenNr,plz,stadt,land,tag,monat,jahr,
                           strassenNrEinzug,plzEinzug,stadtEinzug,landEinzug,tagEinzug,monatEinzug,jahrEinzug,
                           vorname,name,vorwahl,nummer,email
                          };
String regex = "\\w+";
boolean check = true;
for(String fName : feldName){
   Matcher m = Pattern.compile(regex,Pattern.CASE_INSENSITIVE).matcher(fName);
       
   f(! m.find() ){//bei leer zeichen , springt er in die if Anweisung, so stell ich mir das vor mit der regex.
      check = false;
      break;
      //Wenn das Programm hier landet gibt er mir ein NullPointerException aus ,wenn nicht ,null problemo.

   }   
}
...
..
..
 
Zuletzt bearbeitet von einem Moderator:

Murray

Top Contributor
Wie - die NullPointerException tritt auf, wenn die Codezeile hinter dem break erreicht wird (also nie)? Das kann es ja nicht sein.

Poste doch bitte den Code (gern mit JAVA-Tags, damit das richtig formatiert wird) und kennzeichne die Zeile, in der laut Stack-Trace der Fehler Auftritt.
 

carpe

Aktives Mitglied
Hallo,
hier ist mein Quellcode.
Vielleicht wisst Ihr ja woran es liegt, wenn nicht, überlege Ich mir einen anderen weg .

Danke im Voraus.
Java:
      String adress;   
      String[] feldName = {strassenNr,plz,stadt,land,tag,monat,jahr,
                           strassenNrEinzug,plzEinzug,stadtEinzug,landEinzug,tagEinzug,monatEinzug,jahrEinzug,
                           vorname,name,vorwahl,nummer,email
                          };
      String regex = "\\w+";
      boolean check = true;
      for(String fName : feldName){
          Matcher m = Pattern.compile(regex,Pattern.CASE_INSENSITIVE).matcher(fName);
       
          if(! m.find() ){
            check = false;
            break;
          }
      }
      if(check == true){
        adress = "/WEB-INF/anfrageOk.jsp";
      }
      else{
        adress = "/WEB-INF/anfrageFehler.jsp";
      }
      RequestDispatcher dispatcher = request.getRequestDispatcher(adress);
      dispatcher.forward(request, response);
   


        
    }
}


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
java.util.regex.Matcher.getTextLength(Matcher.java:1140)
java.util.regex.Matcher.reset(Matcher.java:291)
java.util.regex.Matcher.<init>(Matcher.java:211)
java.util.regex.Pattern.matcher(Pattern.java:888)
umzug.Anfrage.doPost(Anfrage.java:54)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:402)
org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:170)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
 
Zuletzt bearbeitet:
S

SlaterB

Gast
fName ist irgendwann in der Schleife null,
denkbar einfach zu prüfen:

System.out.println("nun kommt fName "+fName+" dran");

eine (oder mehrere) der zig Variablen vorher fürs Array wird null sein,
sowas sind doch die einfachsten Fehler die es überhaupt gibt..

idealerweise in einem normalen main-Testprogramm testen, nicht in einer komplizierten Webserver-Umgebung mit schlechter Ausgabe, langwiedrigen Start usw.
 

carpe

Aktives Mitglied
SlaterB ,

du hast es drauf man, Respekt.

Ich habe den Fehler herausbekommen.

<input class="strasse" type="text" name="strassenNrEinzug" >

String strassenNrEinzug = request.getParameter("strassenNrEinzug");

Ich habe strassenNrEinzug im Input falsch geschrieben , deshalb habe Ich einen NullPointerException bekommen.
Der Wert für String strassenNrEinzug = request.getParameter("strassenNrEinzug");
war immer null, weil die beiden Strings (strassenNrEinzug) nicht übereinstimmten.

Danke nochmal ....
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...

Ähnliche Java Themen

Neue Themen


Oben