Latest web development tutorials

JSP-Debugging

Um zu testen / debug eine JSP oder Servlet-Programm ist immer so schwierig. JSP und Servlets Verfahren neigen dazu, die Interaktion zwischen einer Vielzahl von Client / Server einzubinden, was wahrscheinlich ist, einen Fehler zu erzeugen, und es ist schwierig, die Fehlerumgebung zu reproduzieren.

Als nächstes werden einige Tipps und Hinweise gegeben werden Sie Ihr Programm debuggen zu helfen.


Verwenden Sie System.out.println ()

System.out.println () leicht Flag ist ein Stück Code ausgeführt. Natürlich können wir auch eine Vielzahl von Werten ausdrucken. Darüber hinaus:

  • Da das Objekt System wird den Kern Java-Objekt, das ohne die Einführung von zusätzlichen Klassen überall eingesetzt werden kann. Einschließlich der Verwendung von Servlets, JSP, RMI, EJB, Bohnen, Klassen und Stand-alone-Anwendungen.
  • Im Vergleich mit Stopps an den Haltepunkt, System.out Ausgabe mit keinen wesentlichen Einfluss auf den Betrieb von Prozessanwendungen haben, ist diese Funktion sehr wichtig, in der Timing-Mechanismus der Anwendung sehr nützlich ist.

Als nächstes wird die Syntax System.out.println () gegeben:

System.out.println("Debugging message");

Dies ist ein einfaches Beispiel für die Verwendung System.out.print () ist:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>System.out.println</title></head>
<body>
<c:forEach var="counter" begin="1" end="10" step="1" >
   <c:out value="${counter-5}"/></br>
   <% System.out.println( "counter= " + 
                     pageContext.findAttribute("counter") ); %>
</c:forEach>
</body>
</html>

Nun, wenn Sie das obige Beispiel laufen, dann wird es die folgenden Ergebnisse erzielt:

-4
-3
-2
-1
0
1
2
3
4
5

Wenn Sie Tomcat-Server verwenden, können Sie mehrere der folgenden in der stdout.log Datei zu finden logs unter:

counter=1
counter=2
counter=3
counter=4
counter=5
counter=6
counter=7
counter=8
counter=9
counter=10

Mit dieser Methode von Variablen und andere Informationen können auf das Systemprotokoll, das Problem zu analysieren und die Ursache für die tief verwurzelte Gründe finden.


Verwenden Sie JDB Logger

J2SE Logging-Framework bietet Protokollierungsdienste für jede Klasse läuft in der JVM. So können wir diesen Rahmen nutzen, um alle Informationen aufzuzeichnen.

Lassen Sie uns den Code oben neu schreiben, verwenden Sie die JDK-Logger-API:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="java.util.logging.Logger" %>

<html>
<head><title>Logger.info</title></head>
<body>
<% Logger logger=Logger.getLogger(this.getClass().getName());%>

<c:forEach var="counter" begin="1" end="10" step="1" >
   <c:set var="myCount" value="${counter-5}" />
   <c:out value="${myCount}"/></br>
   <% String message = "counter="
                  + pageContext.findAttribute("counter")
                  + " myCount="
                  + pageContext.findAttribute("myCount");
                  logger.info( message );
   %>
</c:forEach>
</body>
</html>

Es ist ähnlich wie die Ergebnisse früherer, aber es können zusätzliche Informationen an die stdout.log Datei. Hier verwenden wir die Info-Logger-Methode. Im Folgenden eine Momentaufnahme stdout.log Datei geben:

24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=1 myCount=-4
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=2 myCount=-3
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=3 myCount=-2
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=4 myCount=-1
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=5 myCount=0
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=6 myCount=1
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=7 myCount=2
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=8 myCount=3
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=9 myCount=4
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService
INFO: counter=10 myCount=5

Nachrichten können mit einer Vielzahl von Priorität gesendet werden, von Sever mit (), Warnung (), info (), config (), fein (), feiner (), feinste () -Methode. feinste () -Methode verwendet, um die besten Informationen zu erfassen und durchtrennen () -Methode verwendet wird, um die gravierendsten Informationen aufzuzeichnen.

Verwenden Sie Log4J Rahmen Protokolle Nachrichten in einer anderen Datei, diese Meldungen basierend auf der Schwere und Bedeutung zu klassifizieren.


Debugging tools

NetBeans ist eine Baumstruktur, Open-Source-Java-Entwicklungsumgebung integriert, unterstützen die Entwicklung von Stand-alone-Java-Anwendungen und Netzwerk-Anwendungen, sondern auch die Unterstützung JSP-Debugging.

NetBeans unterstützt die folgenden ein paar grundlegende Debugging-Funktionen:

  • Haltepunkte
  • Single-step-Tracking
  • Warte

Detaillierte Informationen können angezeigt NetBeans Handbuch werden.


Verwenden Sie JDB Debugger

Sie können den Befehl jdb in JSP und Servlets in für das Debuggen, wie Debug wie eine normale Anwendung.

Normalerweise leiten wir das Debuggen sun.servlet.http.HttpServer die Situation Httpserver Implementierung von JSP / Servlets als Antwort auf HTTP-Anfragen an View-Objekt. Dies ist sehr ähnlich zu Debugging-Applets. Der Unterschied besteht darin, dass Applets tatsächlichen Debugging-Programm ist sun.applet.AppletViewer.

Die meisten der Debugger beim Debuggen Applets können automatisch einige der Details zu ignorieren, weil sie weiß, wie man Applets zu debuggen. Wenn Sie JSP-Objekte auf den Körper übertragen debuggen möchten, müssen Sie zwei Dinge tun:

  • sun.servlet.http.Http-Server und verwandte Klassen Einstellen der Debugger Classpath, kann es zu finden.
  • den Debugger Classpath-Einstellung, um es zu ermöglichen, Ihre JSP-Dateien und verwandte Klassen zu finden.

Set Classpath, es begann sun.servlet.http.Http-Server in Betrieb nehmen. Sie können überall Punkte in der JSP-Datei gesetzt, so lange wie Sie möchten, und verwenden Sie dann den Browser eine Anfrage an den Server sendet sollte das Programm gestoppt an einem Haltepunkt zu sehen können.


Verwenden Sie Kommentare

Programm Anmerkungen zum Debugger eine hilfreiche Rolle in vielen Aspekten spielen. Kommentare können in vielfältiger Weise in den Debugger verwendet werden.

JSP verwendet Java-Annotationen. Wenn ein Fehler verschwunden ist, lesen Sie bitte sorgfältig die Kommentare hinterlassen haben Sie einfach den Code hatte können in der Regel herausfinden, warum.


Der Leiter der Client- und Server-Module

Manchmal, wenn die JSP nicht in einer vorgegebenen Weise ausgeführt wird, wenn die Roh-HTTP-Anforderungen und -Antworten Blick sind ebenfalls nützlich. Wenn die Struktur mit HTTP sehr vertraut ist, können Sie direkt auf die Anfrage und Antwort-Header zu beobachten und zu sehen, wie die Module am Ende.


Wichtige Debugging-Techniken

Hier sind wir wieder aufgedeckt zwei Tipps zum Debuggen JSP:

  • Mit dem Browser zeigt der ursprüngliche Inhalt der Seite wird verwendet, ob das Format zu unterscheiden. Diese Option ist in der Regel im Menü Ansicht.
  • Stellen Sie sicher, dass der Browser, wenn der erzwungenen Neustart die Seite nicht die Ausgabe der vorherigen Aufforderung nicht erfassen. Wenn Sie den Netscape Navigator-Browser verwenden, verwenden Sie bei gedrückter Umschalttaste Reload, und wenn IE-Browser verwenden, dann Umschalt-Refresh verwenden.