JSP Debugging: Hur man felsöker JSP i Eclipse?

⚡ Smart sammanfattning

Felsökning i JSP är processen att tracfelsökning i en JSP-applikation. Den här resursen förklarar tre felsökningstekniker – println-satser, Java Logger och felsökningsverktyg – och vägledningar om hur man felsöker en JSP-sida i Eclipse med hjälp av brytpunkter och felsökningsläge.

  • 🐞 Definition: Debugging traces-fel som är svåra att reproducera i klientinteraktiva JSP-applikationer.
  • 🖨️ println: System.out.println() skriver ut variabelvärden för att bekräfta vilka kodrader som körts.
  • 📝 Java Logger: Loggningsramverket registrerar nivåindelade meddelanden som information och allvarliga händelser i loggfiler.
  • 🔧 Felsökningsverktyg: Eclipse tillhandahåller brytpunkter och en variabelvy för att inspektera körtidstillstånd.
  • ▶ ️ Eclipse Steg: Ställ in brytpunkter, starta om servern i felsökningsläge och gå sedan igenom koden steg för steg.

JSP-felsökning

Vad är felsökning i JSP?

Felsökning i JSP är processen att tracfelet i applikationen. Det är inte särskilt lätt att trace buggar och fel i applikationen. JSP-applikationer är klientinteraktiva. Därför är fel svåra att reproducera.

JSP-felsökningstekniker

Det finns tre olika tekniker genom vilka vi kan felsöka en JSP-applikation:

  • Använda println-satser
  • Använda Java logger
  • Använda felsökningsverktyg

Använda println Statements

  • System.out.println() används för att trachuruvida en viss del är utförd eller inte.
  • Vi kan skriva ut variablerna i koden.
  • Vi kan också skriva ut värden som behöver användas för att felsöka applikationen.

Exempel:

I det här exemplet felsöker vi println-satserna för att förstå vilka värden vi får för variablerna.

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

Förklaring av koden:

Code Linje 10: Vi tar variabeln num1 och initierar den till 10.

Code Linje 11: Vi skriver ut med hjälp av println-satsen "Detta är felsökning Guru JSP” för att felsöka vilken kodrad som har körts.

Code Linje 12: Här ökar vi variabeln num1 med 1.

Code Linje 13: Vi dividerar num1 med 0 och lägger in det i en ny variabel num2.

Code Linje 14: Eftersom vi vill veta värdet för num2 kan vi hämta det med hjälp av println-satsen för att veta upp till vilken kodrad som har exekverats.

När du kör ovanstående kod får du följande utdata:

JSP-felsökning med hjälp av println-satser

Produktion:

Här får vi uttalandet "Detta är felsökning Guru JSP” med värdet på variabeln num1, vilket har ökats, alltså 11.

Använda Java logger

  • Ocuco-landskapet Java loggningsramverket används för loggningstjänster för alla klasser som körs i JVM.
  • Detta används för att logga all information från koden.
  • Den loggar all nödvändig information för att trace de buggar som har uppstått.

Exempel:

I det här exemplet använder vi Java logger till tracinformationen i koden. Meddelanden kan visas med olika funktioner som severe(), warning(), info(), config()och fine()Info används för att visa informationen i loggfilen. Allvarlig används för att visa viss allvarlig information i loggfilen.

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

Förklaring av koden:

Code Linje 2: Vi importerar Java logger för att logga informationen.

Code Linje 3: Vi importerar Date-klassen från util-paketet.

Code Linje 13: Vi initierar loggklassen med hjälp av getLogger-metoden.

Code Linje 14: Vi initierar Date-klassen.

Code Linje 15: Vi använder info-metoden i logger-klassobjektet för att skriva ut aktuellt datum.

Code Linje 16: Vi använder infometoden för att skriva ut 'Detta är Guru Loggningsfelsökare.

När du kör ovanstående kod får du följande utdata:

JSP-felsökning med hjälp av Java logger

Produktion:

Vi hämtar utdata i std.log, som lagras i Logging-mappen på servern. Här hämtar vi informationen som har skrivits i koden.

Använda felsökningsverktyg

Vi har använt Eclipse sedan början av handledningen. I Eclipse, vi har felsökningsverktyg för att felsöka felen eller buggarna i koden.

Hur man felsöker JSP i Eclipse

Här är stegen för att felsöka en JSP-applikation i Eclipse med hjälp av felsökningsverktyg:

  1. Ställ in brytpunkten.
  2. Starta om servern i felsökningsläge.
  3. Felsök via brytpunkter.

Steg 1) Ställ in brytpunkten

Vi kan sätta brytpunkten i koden, där vi vill 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>

Här ställer vi in ​​brytpunkten som "växla brytpunkt" när du högerklickar i projektutforskaren. Vi kan ställa in brytpunkterna där felet eller buggen uppstår. När de är inställda kommer felsökaren att gå till den första brytpunkten och sedan nästa, och så vidare. Den kommer att köras genom applikationen med hjälp av brytpunkter. Efter att ha ställt in brytpunkten måste vi starta om servern i felsökningsläge.

Steg 2) Starta om servern i felsökningsläge

Vi kan starta om servern i felsökningsläge genom att klicka på serversidan och sedan på Starta i felsökningsläge.

Felsöka JSP i Eclipse

Steg 3) Felsök genom brytpunkter

Vi kan felsöka applikationen genom att klicka på applikationen som Felsök som:

Felsöka JSP i Eclipse

Du får en varning om att byta perspektiv; klicka sedan på knappen "Ja". Efter att ha klickat på knappen "Ja" får vi följande perspektiv:

Felsöka JSP i Eclipse

Vi får upp fliken Variabler, där vi kan se värdena på variablerna:

Felsöka JSP i Eclipse

Fliken Brytpunkter visar antalet brytpunkter i koden:

Felsöka JSP i Eclipse

Vi kan felsöka applikationen genom de brytpunkter som har ställts in.

Vanliga frågor

Ja. AI-assistenter kan analysera stacken traces, identifiera nullpekare eller divisionsfel och föreslå korrigeringar i JSP- och servletkod. Detta snabbar upp felsökningen, men du bör bekräfta korrigeringen genom att köra sidan.

Nej. AI föreslår sannolika orsaker, men stegping genom brytpunkter i Eclipse ger fortfarande exakta variabelvärden för körtid som bekräftar det faktiska problemet. De två metoderna fungerar bäst tillsammans.

println skriver ut direkt till konsolen och är svår att hantera i stor skala. En loggfil registrerar utjämnade meddelanden, till exempel information eller allvarliga händelser, i loggfiler som kan filtreras, behållas och analyseras senare.

Ett 500-fel kommer vanligtvis från ett oupptäckt undantag i JSP:n, till exempel ett NullPointerException eller division med noll. Den exakta orsaken visas i serverloggarna och stacken. trace.

Sammanfatta detta inlägg med: