Latest web development tutorials

JSP debugowania

Aby przetestować / debug JSP lub program aplet jest zawsze bardzo trudne. JSP i serwlety procedury wydają się wiązać interakcji między dużą liczbą klient / serwer, który prawdopodobnie wygeneruje błąd, i to jest trudne do odtworzenia środowiska błędzie.

Następne będą miały kilka porad i wskazówek, które pomogą Ci debugowanie programu.


Użyj System.out.println ()

System.out.println () można łatwo flaga jest kawałek kodu jest wykonywany. Oczywiście, możemy również wydrukować różne wartości. Ponadto:

  • Ponieważ obiekt systemu staje się obiektem Java rdzenia, która może być używana w dowolnym miejscu, bez wprowadzania dodatkowych klas. Łącznie z wykorzystaniem serwletów, JSP, RMI, EJB, fasola, klas i samodzielne aplikacje.
  • W porównaniu z przystankami przy zerwaniu, wykorzystując wyjście System.out nie będzie miało znaczącego wpływu na funkcjonowanie aplikacji procesowych, funkcja ta jest bardzo ważna w mechanizm rozrządu aplikacji jest bardzo przydatna.

Następnie, ze względu na System.out.println składni () jest:

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

To jest prosty przykład użycia System.out.print () jest:

<%@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>

Teraz, po uruchomieniu powyższego przykładu, to przyniesie następujące wyniki:

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

Jeśli używasz serwera Tomcat, będzie można dowiedzieć się czegoś więcej z następujących czynności w pliku stdout.log logs under:

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

Korzystając z tej metody zmiennych oraz inne informacje mogą być wyprowadzane w dzienniku systemu do analizy problemu i znaleźć przyczynę tych głęboko zakorzenionych przyczyn.


Użyj JDB Logger

Ramy rejestrowanie J2SE świadczy usługi rejestrowania dla każdej klasy pracującym w JVM. Możemy więc skorzystać z tej ramy nagrywać żadnych informacji.

Załóżmy przepisać powyższy kod, użyj JDK rejestratora 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>

Jest ona podobna do wyników poprzedniego, ale może uzyskać dodatkowe informacje do pliku stdout.log. Tutaj używamy metody informacji rejestratora. Poniżej podajemy plik snapshot stdout.log:

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

Komunikaty mogą być przesyłane przy użyciu różnych priorytecie, stosując przecinanie () ostrzegawcze () () informacji, konfiguracji (), cienka () drobniejsze () najlepszym sposobem (). Metoda najlepszych () służy do nagrywania najlepsze informacje i sever () Metoda służy do rejestrowania najpoważniejsze informacji.

Użyj LOG4J wiadomości kłody ramowe w innym pliku, te wiadomości na podstawie wagi i znaczenia sklasyfikować.


Debugging Tools

NetBeans ma strukturę drzewa, open source Java zintegrowane środowisko programistyczne, wspierać rozwój aplikacji Java autonomicznych i aplikacji sieciowych, ale także wsparcie JSP debugowania.

NetBeans obsługuje następujące kilka podstawowych możliwości debugowania:

  • Wartości graniczne
  • Śledzenie jednoetapowy
  • punkt obserwacyjny

Szczegółowe informacje można oglądać NetBeans podręcznik.


Użyj JDB Debugger

Można użyć polecenia JDB w JSP i aplety w celu debugowania, podobnie jak debug jako normalnego stosowania.

Zazwyczaj kierujemy debugowanie sun.servlet.http.HttpServer sprzeciwu aby zobaczyć sytuację HTTPServer wdrożenia JSP / Servlets w odpowiedzi na żądania HTTP. Jest to bardzo podobne do apletów debugowania. Różnica polega na tym, że program aplety rzeczywiste debugowanie jest sun.applet.AppletViewer.

Większość debuggera podczas debugowania apletów może automatycznie ignoruje niektóre szczegóły, bo nie wie, jak do debugowania apletów. Jeśli chcesz debugować JSP obiektów przeniesionych do ciała, co trzeba zrobić dwie rzeczy:

  • Ustawianie ścieżki klasy debugger, można je znaleźć sun.servlet.http.Http-Server i powiązanych klas.
  • Ustawianie ścieżki klasy debugger, aby mogła ona znaleźć swoje pliki JSP i powiązanych klas.

Zestaw classpath, zaczął uruchomienie sun.servlet.http.Http-Server. Można ustawić punkty przerwania w pliku JSP w dowolnym miejscu tak długo, jak chcesz, a następnie użyć przeglądarka wysyła żądanie do serwera powinien być w stanie zobaczyć program zatrzymał się na przerwania.


Użyj komentarzy

adnotacje program do debuggera odegrać pomocną rolę w wielu aspektach. Uwagi można wykorzystać na wiele sposobów w debugera.

JSP wykorzystuje adnotacje Javy. Jeśli BUG zniknął, proszę dokładnie zapoznać się z komentarzy, które właśnie miały kod może zwykle dowiedzieć się dlaczego.


Szef modułów klienta i serwera

Czasami, gdy JSP nie działa w określony sposób podczas oglądania są również użyteczne surowe żądania HTTP i odpowiedzi. Jeżeli konstrukcja jest bardzo dobrze zaznajomieni z protokołami HTTP, można bezpośrednio obserwować nagłówki żądania i odpowiedzi, a widząc jak moduły w końcu.


Ważne techniki debugowania

Tu znów ujawniła dwa wskazówek debugowania JSP:

  • Korzystanie przeglądarka wyświetla oryginalną treść strony, służy do odróżnienia, czy formatu. Ta opcja jest zazwyczaj w menu Widok.
  • Upewnij się, że przeglądarka kiedy zmuszony odświeżyć stronę nie uchwycić wyjście poprzedniego wniosku. Jeśli korzystasz z przeglądarki Netscape Navigator kombinacji klawiszy Shift-reload; w przypadku korzystania z przeglądarki IE, a następnie za pomocą Shift-Refresh.