JSP-foutopsporing: hoe JSP te debuggen in Eclipse?

⚡ Slimme samenvatting

Debuggen in JSP is het proces van tracFouten debuggen in een JSP-applicatie. Deze bron legt drie debugtechnieken uit: println-instructies, de Java Logger- en debuggertools, en een stapsgewijze handleiding voor het debuggen van een JSP-pagina. Eclipse gebruikmakend van breekpunten en de debugmodus.

  • 🐞 Definitie: Debugging tracfouten die moeilijk te reproduceren zijn in client-interactieve JSP-applicaties.
  • 🖨️ println: System.out.println() print de waarden van variabelen om te bevestigen welke regels code zijn uitgevoerd.
  • 📝 Java Houthakker: Het logboekregistratiesysteem registreert berichten van verschillende ernstniveaus, zoals informatie en ernstig, in logbestanden.
  • 🔧 Foutopsporingshulpmiddelen: Eclipse Biedt breakpoints en een variabelenweergave om de runtime-status te inspecteren.
  • ▶ ️ Eclipse Stappen: Stel breekpunten in, herstart de server in debugmodus en doorloop vervolgens de code.

JSP-debugging

Wat is foutopsporing in JSP?

Debuggen in JSP is het proces van tracDe fout in de applicatie opsporen. Dat is niet zo eenvoudig. tracFouten en bugs in de applicatie. JSP-applicaties zijn client-interactief. Daardoor zijn fouten moeilijk te reproduceren.

JSP-foutopsporingstechnieken

Er zijn 3 verschillende technieken waarmee we een JSP-applicatie kunnen debuggen:

  • Println-instructies gebruiken
  • gebruik Java Houthakker
  • Debugger-tools gebruiken

Println-instructies gebruiken

  • System.out.println() wordt gebruikt trace of een bepaald onderdeel wel of niet wordt uitgevoerd.
  • We kunnen de variabelen in de code afdrukken.
  • We kunnen ook waarden afdrukken die nodig zijn om de applicatie te debuggen.

Voorbeeld:

In dit voorbeeld debuggen we de println-instructies om te begrijpen welke waarden we krijgen voor de variabelen.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Debug Guru JSP</title>
</head>
<body>
<% int num1 = 10;
System.out.println("This is debugging Guru JSP");
num1++;
int num2 = num1 / 0;
System.out.println(num2); %>
</body>
</html>

Uitleg van de code:

Code Regel 10: We nemen de variabele num1 en initialiseren deze met de waarde 10.

Code Regel 11: We printen met behulp van de println-instructie: "Dit is debuggen." Guru Gebruik "JSP" om te debuggen welke regel code is uitgevoerd.

Code Regel 12: Hier verhogen we de variabele num1 met 1.

Code Regel 13: We delen num1 door 0 en slaan het resultaat op in een nieuwe variabele num2.

Code Regel 14: Omdat we de waarde van num2 willen weten, kunnen we die opvragen met de println-instructie om te zien tot welke regel code is uitgevoerd.

Wanneer u de bovenstaande code uitvoert, krijgt u de volgende uitvoer:

JSP-foutopsporing met behulp van println-instructies

Output:

Hier krijgen we de melding "Dit is een debugsessie". Guru JSP” met de waarde van de variabele num1, die is verhoogd, dus 11.

gebruik Java Houthakker

  • De Java Het loggingframework wordt gebruikt voor het loggen van services voor elke klasse die wordt uitgevoerd. JVM.
  • Dit wordt gebruikt om alle informatie uit de code te loggen.
  • Het registreert alle noodzakelijke informatie om trace de bugs die zich hebben voorgedaan.

Voorbeeld:

In dit voorbeeld gebruiken we de Java logger naar trace de informatie in de code. Berichten kunnen worden weergegeven met behulp van verschillende functies zoals severe(), warning(), info(), config()en fine()'Info' wordt gebruikt om de informatie in het logbestand weer te geven. 'Severe' wordt gebruikt om ernstige informatie in het logbestand weer te geven.

<%@taglib prefix="guru" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="java.util.logging.Logger" %>
<%@page import="java.util.Date" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Debugging Guru JSP</title>
</head>
<body>
<% Logger logger = Logger.getLogger(this.getClass().getName()); %>
<% Date dt = new Date();
logger.info(dt.toString());
logger.info("This is Guru Logging debugger"); %>
</body>
</html>

Uitleg van de code:

Code Regel 2: Wij importeren de Java logger om de informatie vast te leggen.

Code Regel 3: We importeren de Date-klasse uit het util-pakket.

Code Regel 13: We initialiseren de logger-klasse met behulp van de getLogger-methode.

Code Regel 14: We initialiseren de Date-klasse.

Code Regel 15: We gebruiken de `info`-methode van het `logger`-klasseobject om de huidige datum af te drukken.

Code Regel 16: We gebruiken de info-methode om 'Dit is' af te drukken. Guru 'Logboekdebugger'.

Wanneer je de bovenstaande code uitvoert, krijg je de volgende uitvoer:

JSP-foutopsporing gebruiken Java Houthakker

Output:

De uitvoer wordt opgeslagen in std.log, in de map Logging op de server. Hier vinden we de informatie die in de code is geschreven.

Foutopsporingstools gebruiken

We hebben gebruikt Eclipse sinds het begin van de tutorial. In Eclipse, hebben we debugging-tools om de fouten of bugs in de code te debuggen.

Hoe JSP te debuggen Eclipse

Hier volgen de stappen voor het debuggen van een JSP-toepassing Eclipse met behulp van foutopsporingstools:

  1. Stel het breekpunt in.
  2. Start de server opnieuw op in de foutopsporingsmodus.
  3. Debuggen met behulp van breakpoints.

Stap 1) Stel het breekpunt in

We kunnen een breakpoint in de code plaatsen waar we dat willen. trace de code:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Debugging Guru JSP</title>
</head>
<body>
<% String name = "This is test Guru JSP";
out.println(name);
%>
</body>
</html>

Hier stellen we een breakpoint in als 'breakpoint wisselen' wanneer je met de rechtermuisknop op de projectverkenner klikt. We kunnen breakpoints instellen op de plaatsen waar de fout of bug optreedt. Zodra ze zijn ingesteld, zal de debugger naar het eerste breakpoint gaan, vervolgens naar het volgende, enzovoort. De applicatie wordt dan doorlopen met behulp van breakpoints. Na het instellen van de breakpoints moeten we de server opnieuw starten in debugmodus.

Stap 2) Start de server opnieuw op in de foutopsporingsmodus

We kunnen de server opnieuw opstarten in debugmodus door aan de serverzijde te klikken en vervolgens op 'Starten in debugmodus' te klikken.

Debug JSP in Eclipse

Stap 3) Debuggen via breekpunten

We kunnen de applicatie debuggen door op de applicatie te klikken en 'Debug As' te selecteren.

Debug JSP in Eclipse

Je krijgt een melding om het perspectief te wijzigen; klik dan op de knop 'Ja'. Na het klikken op 'Ja' krijg je het volgende perspectief te zien:

Debug JSP in Eclipse

We krijgen het tabblad Variabelen te zien, waar we de waarden van de variabelen kunnen bekijken:

Debug JSP in Eclipse

Op het tabblad 'Breakpoints' wordt het aantal breakpoints in de code weergegeven:

Debug JSP in Eclipse

We kunnen de applicatie debuggen met behulp van de ingestelde breakpoints.

Veelgestelde vragen

Ja. AI-assistenten kunnen stacks analyseren. tracHet programma spoort null-pointers of delingsfouten op en stelt oplossingen voor in de JSP- en servletcode. Dit versnelt het debuggen, maar je moet de oplossing wel bevestigen door de pagina uit te voeren.

Nee. AI suggereert waarschijnlijke oorzaken, maar stap voor stap.ping via breekpunten in Eclipse Het levert nog steeds nauwkeurige waarden voor de runtimevariabelen op, die het daadwerkelijke probleem bevestigen. De twee benaderingen werken het beste samen.

`println` print rechtstreeks naar de console en is lastig te beheren op grote schaal. Een logger registreert berichten met een bepaald niveau, zoals 'info' of 'severe', in logbestanden die later kunnen worden gefilterd, bewaard en geanalyseerd.

Een 500-fout wordt meestal veroorzaakt door een niet-afgevangen uitzondering in de JSP, zoals een NullPointerException of een deling door nul. De exacte oorzaak wordt weergegeven in de serverlogboeken en de stacktrace. trace.

Vat dit bericht samen met: