• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

jsp: Seite kann einmal geladen werden, bei reload Fehler

chemiker

New member
Hi zusammen,

habe folgendes Problemchen: Ich habe eine jsp-Seite, auf die ich auch ohne Probleme gehen kann. Beim Neuladen oder Aufrufen der Seite später (aber noch in der gleichen Session) werde ich aber immer auf meine selbst erstellte Fehlerseite weitergeleitet (ErrorHandler). Hier der Log:

Code:
08.03.2011 09:40:28 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet navigationHandler threw exception
java.lang.NullPointerException
        at org.apache.jsp.pages.Journey.showAllJourneys_jsp._jspService(showAllJourneys_jsp.java:141)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at controller.navigationHandler.processRequest(navigationHandler.java:152)
        at controller.navigationHandler.doGet(navigationHandler.java:166)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
        at java.lang.Thread.run(Thread.java:662)
Ich entnehme dem Log, dass der Fehler anscheinend auf meiner jsp-Seite liegt (oberster Eintrag), allerdings hat die Seite showAllJourneys.jsp nur 120 Zeilen. Oder verstehe ich da etwas falsch?
 
Das ist auch die Zeile 141 in der vorcompilierten Datei - die kann schon mal anders aufgebaut sein (find' ich aber trotzdem irgendwie auch seltsam...).
Such doch in deiner Datei mal nach Servlet.service()
 
Das ist auch die Zeile 141 in der vorcompilierten Datei - die kann schon mal anders aufgebaut sein (find' ich aber trotzdem irgendwie auch seltsam...).
Such doch in deiner Datei mal nach Servlet.service()
Also meine jsp-Seite besteht fast nur aus templates (JAVA-Klassen), die dann html-code generieren. Deswegen wird die Seite vermutlich beim Compilieren länger als 120 Zeilen. Ich hab mir den SourceCode mal in Firebug angeschaut, da wurden dann aber auch alle Zeilen aus den diversen js-files angezeigt, dementsprechend hatte der Sourcecode mehrere Tausende Zeilen. Außerdem hat Firebug nur die js-file-Zeilen nummeriert angezeigt und hat bei jedem implementierten js-file neu angefangen, Zeilen zu benennen. Wie komme ich an die Zeile, die mir angeblich die NullPointerException bereitet?

PS: Servlet.service() ist eine protected abstract Methode aus dem Interface Servlet. Das wiederum fließt in diverse Klassen ein, bis schließlich zum HttpServlet, von dem wiederum mein Servlet navigationHandler erbt. Muss ich diese Methode noch overriden? Das Eigenartige ist eben auch, dass ich einmal die Seite aufrufen kann, dann aber kein zweites Mal mehr in einer Session.
 
Zuletzt bearbeitet:
Wie komme ich an die Zeile, die mir angeblich die NullPointerException bereitet?
Auf jeden Fall nicht mit Firebug und nicht im Browser. Dein Fehler tritt auf dem Server auf.

Mit JSPs kenne ich mich zuwenig aus, aber wenn die zu .java kompiliert/gewandelt werden, bevor sie ausgeführt werden, dann werden sie sicherlich irgendwo zwischengespeichert, oder Du kannst den Kompilierungsschritt manuell ausführen und so an die Java-Quellen rankommen.
 
Hallo,

habe den Fehler gefunden.
Es wird am Anfang einer jsp-Seite eine if-Abfrage durchgeführt, die zuerst prüft, ob ein Attribut null ist. Wenn dem nicht ist (beim erneuten Laden innerhalb einer Session), wird eine weitere if-Abfrage gestartet, die prüft, welchen Wert der Parameter der URL "action" hat. Diese Zeile erzeugt eine NullPointerException, da es einfach nicht immer einen Parameter gibt. Problem solved. Thx for help!
 
Zurück
Oben