Ich versuche eine JSP für ein Projekt zu bearbeiten und erhalte irgendwo in der JSP eine NullPointerException, wenn sie von meinem Server angefordert wird.
Mein Webserver (JBoss) meldet die Ausnahme, gibt mir jedoch eine falsche Zeilennummer. Es wird berichtet, dass die Ausnahme in Zeile 702 aufgetreten ist, aber meine JSP ist nur 146 Zeilen lang, sodass ich nicht identifizieren kann, welche Zeile erstickt.
Was sind einige gute Techniken zum Debuggen von Fehlern in JSPs? Ich verwende IntelliJ 9 Ultimate als meine IDE.
Vielen Dank
Antworten:
Es gibt verschiedene Möglichkeiten, die Ihnen helfen können:
In dieser Antwort wird das Debuggen von JSPs speziell erläutert: https://stackoverflow.com/questions/33739/jsp-debugging-in-intellij-idea . Ich habe das noch nie ausprobiert, also habe ich die nächsten drei Vorschläge befolgt, als ich JSP, JBoss und IntelliJ verwendet habe ...
Denken Sie daran, dass JSPs zu Klassen kompiliert werden. Wenn es Zeile 702 sagt, bedeutet es in der kompilierten Klasse. Wenn dies
test.jsp
der Fall isttest_jsp
, lautet der Klassenname wahrscheinlich . Öffnen Sie daher Ihr JBoss-Arbeitsverzeichnis und suchen Sie nachtest_jsp.java
(sobald Sie das richtige Verzeichnis gefunden haben, sehen Sie, dass die Verzeichnisstruktur mit Ihrer JSP-Verzeichnisstruktur übereinstimmt). Wann immer ich eine JSP-Ausnahme hatte, konnte ich die Zeile ziemlich leicht finden und normalerweise mit der entsprechenden Zeile in der JSP abgleichen.Haltepunkte funktionieren problemlos in Java-Klassen, die von einer JSP aufgerufen werden . Vielleicht können Sie den Java-Skriptcode, den Sie in Ihrer JSP haben, in eine Klasse verschieben und vom Einstiegspunkt aus debuggen. In Zukunft können Sie es sich auch zur Gewohnheit machen, Ihre Logik so umzustellen, dass der Großteil in einer Klasse liegt, die von der JSP aufgerufen wird. Die JSP ist einfach, unkompliziert und wirft hoffentlich keine Ausnahmen. Das ist sowieso eine gute Übung.
Besser noch, entfernen Sie die gesamte (oder praktisch die gesamte) Java-Logik in Java-Klassen, und belassen Sie JSPs für HTML- und JSP-Tags. Ich weiß, dass dies nicht sofort machbar ist, aber es ist auch langfristig eine gute Idee, solche Probleme zu vermeiden.
quelle
*_jsp.java
Unterricht finden sollte.Sie können eine JSP-Seite einfach wie einen Java-Code debuggen:
"Eine JSP-Datei ist dasselbe wie das Debuggen einer Java-Klasse, aber die meisten Funktionen (Beobachten, Untersuchen usw.) sind nicht implementiert. Der einzige Weg, die Werte von Variablen zu erhalten ist die Variablenansicht. "
Siehe den Link unten:
https://www.laliluna.de/articles/posts/debugging-jsp-java-tutorial.html
quelle