JSP-fejlretning: Sådan debugger JSP i Eclipse?

⚡ Smart opsummering

Debugging i JSP er processen med tracfejlfinding i en JSP-applikation. Denne ressource forklarer tre fejlfindingsteknikker - println-sætninger, Java Logger og debuggerværktøjer – og gennemgår, hvordan man fejlfinder en JSP-side i Eclipse ved hjælp af breakpoints og debug-tilstand.

  • 🐞 Definition: Debugging traces-fejl, der er svære at reproducere i klient-interaktive JSP-applikationer.
  • 🖨️ println: System.out.println() udskriver variable værdier for at bekræfte, hvilke kodelinjer der blev udført.
  • 📝 Java Logger: Logføringsrammen registrerer niveaubegrænsede meddelelser såsom information og alvorlige meddelelser i logfiler.
  • 🔧 Fejlfindingsværktøjer: Eclipse leverer breakpoints og en variabelvisning til at inspicere runtime-tilstand.
  • ▶ ️ Eclipse Trin: Angiv breakpoints, genstart serveren i debug-tilstand, og gennemgå derefter koden trin for trin.

JSP-fejlfinding

Hvad er fejlretning i JSP?

Debugging i JSP er processen med tracrette fejlen i applikationen. Det er ikke særlig nemt at trace-fejl og fejl i applikationen. JSP-applikationer er klientinteraktive. Derfor er fejl vanskelige at reproducere.

JSP debugging teknikker

Der er 3 forskellige teknikker, hvorigennem vi kan fejlsøge en JSP-applikation:

  • Brug af println-udsagn
  • Ved brug af Java Logger
  • Brug af Debugger-værktøjer

Brug af println Statements

  • System.out.println() bruges til at trace om en bestemt del er udført eller ej.
  • Vi kan udskrive variablerne i koden.
  • Vi kan også udskrive værdier, der skal bruges til at fejlfinde applikationen.

Eksempel:

I dette eksempel fejlsøger vi println-sætningerne for at forstå, hvilke værdier vi får for variablerne.

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

Forklaring af koden:

Code Linje 10: Vi tager variablen num1 og initialiserer den til 10.

Code Linje 11: Vi udskriver ved hjælp af println-sætningen "Dette er fejlfinding Guru JSP” for at fejlsøge, hvilken kodelinje der er blevet udført.

Code Linje 12: Her øger vi variablen num1 med 1.

Code Linje 13: Vi dividerer tal1 med 0 og sætter det ind i en ny variabel tal2.

Code Linje 14: Da vi vil kende værdien for num2, kan vi hente den ved hjælp af println-sætningen for at vide, op til hvilken linje kode der er blevet udført.

Når du udfører ovenstående kode, får du følgende output:

JSP-fejlretning ved hjælp af println-sætninger

Output:

Her får vi sætningen "Dette er fejlfinding Guru JSP" med værdien af ​​variablen num1, som er blevet forøget, derfor 11.

Ved brug af Java Logger

  • Java logging framework bruges til logging-tjenester for enhver klasse, der kører i FMV.
  • Dette bruges til at logge enhver information fra koden.
  • Den logger alle nødvendige oplysninger til trace de fejl, der er opstået.

Eksempel:

I dette eksempel bruger vi Java logger til tracoplysningerne i koden. Meddelelser kan vises ved hjælp af forskellige funktioner som f.eks. severe(), warning(), info(), config()og fine()Info bruges til at vise oplysningerne i logfilen. Alvorlig bruges til at vise visse alvorlige oplysninger i logfilen.

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

Forklaring af koden:

Code Linje 2: Vi importerer Java logger til at logge informationen.

Code Linje 3: Vi importerer Date-klassen fra util-pakken.

Code Linje 13: Vi initialiserer logger-klassen ved hjælp af getLogger-metoden.

Code Linje 14: Vi initialiserer Date-klassen.

Code Linje 15: Vi bruger info-metoden fra logger-klasseobjektet til at udskrive den aktuelle dato.

Code Linje 16: Vi bruger info-metoden til at udskrive 'Dette er Guru Logføringsfejlfinder.

Når du udfører ovenstående kode, får du følgende output:

JSP-fejlretning ved hjælp af Java Logger

Output:

Vi henter outputtet i std.log, som gemmes i Logging-mappen på serveren. Her henter vi de oplysninger, der er skrevet i koden.

Brug af fejlfindingsværktøjer

Vi har brugt Eclipse siden begyndelsen af ​​vejledningen. I Eclipse, vi har fejlfindingsværktøjer til at debugge fejlene eller fejlene i koden.

Sådan fejlretter du JSP i Eclipse

Her er trinene til at fejlsøge en JSP-applikation i Eclipse ved hjælp af fejlfindingsværktøjer:

  1. Indstil brudpunktet.
  2. Genstart serveren i fejlfindingstilstand.
  3. Fejlfinding via breakpoints.

Trin 1) Indstil brudpunktet

Vi kan sætte breakpointet i koden, hvor vi vil trace koden:

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

Her indstiller vi breakpoint'et som 'toggle breakpoint', når du højreklikker i projektbrowseren. Vi kan indstille de breakpoints, hvor fejlen eller buggen opstår. Når de er indstillet, vil debuggeren gå til det første breakpoint og derefter det næste, og så videre. Den vil køre gennem applikationen ved hjælp af breakpoints. Efter at have indstillet breakpoint'et, skal vi genstarte serveren i debug-tilstand.

Trin 2) Genstart serveren i fejlfindingstilstand

Vi kan genstarte serveren i fejlfindingstilstand ved at klikke på serversiden og derefter på Start i fejlfindingstilstand.

Debug JSP ind Eclipse

Trin 3) Fejlfinding gennem Breakpoints

Vi kan foretage fejlfinding af applikationen ved at klikke på applikationen som Fejlfind som:

Debug JSP ind Eclipse

Du får en besked om at skifte perspektiv; klik derefter på knappen "Ja". Når du har klikket på knappen 'Ja', får vi følgende perspektiv:

Debug JSP ind Eclipse

Vi får fanen Variabler, hvor vi kan se værdierne for variablerne:

Debug JSP ind Eclipse

Fanen Breakpoints viser antallet af breakpoints i koden:

Debug JSP ind Eclipse

Vi kan foretage fejlfinding i applikationen via de indstillede breakpoints.

Ofte Stillede Spørgsmål

Ja. AI-assistenter kan analysere stakken traces, finde nullpointere eller divisionsfejl og foreslå rettelser i JSP- og servlet-kode. Dette fremskynder fejlfinding, men du bør bekræfte rettelsen ved at køre siden.

Nej. AI foreslår sandsynlige årsager, men trinping gennem breakpoints i Eclipse giver stadig præcise runtime-variabelværdier, der bekræfter det faktiske problem. De to tilgange fungerer bedst sammen.

println udskriver direkte til konsollen og er svær at administrere i stor skala. En logger registrerer niveaubestemte meddelelser, såsom info eller alvorlige meddelelser, i logfiler, der kan filtreres, gemmes og analyseres senere.

En 500-fejl stammer normalt fra en uopdaget undtagelse i JSP'en, såsom en NullPointerException eller division med nul. Den nøjagtige årsag vises i serverlogfilerne og stakken. trace.

Opsummer dette indlæg med: