Otklanjanje pogrešaka u JSP-u: Kako otkloniti pogreške u JSP-u Eclipse?

⚡ Pametni sažetak

Otklanjanje grešaka u JSP-u je proces tracpogreške u JSP aplikaciji. Ovaj resurs objašnjava tri tehnike otklanjanja pogrešaka - naredbe println, Java Alati za zapisivanje i ispravljanje pogrešaka - i vodiči za ispravljanje pogrešaka JSP stranice u Eclipse korištenjem točaka prekida i načina rada za otklanjanje pogrešaka.

  • 🐞 Definicija: Otklanjanje grešaka tracpogreške koje je teško reproducirati u JSP aplikacijama koje su interaktivne s klijentom.
  • 🖨️ println: System.out.println() ispisuje vrijednosti varijabli kako bi potvrdio koje su linije koda izvršene.
  • 📝 Java Drvosječa: Okvir za zapisivanje zapisa bilježi poruke na razinama kao što su informacije i ozbiljne poruke u datoteke zapisnika.
  • 🔧 Alati za ispravljanje pogrešaka: Eclipse pruža točke prekida i prikaz varijabli za pregled stanja tijekom izvođenja.
  • ▶ ️ Eclipse Koraci: Postavite točke prekida, ponovno pokrenite poslužitelj u načinu rada za otklanjanje pogrešaka, a zatim prođite kroz kod korak po korak.

JSP otklanjanje pogrešaka

Što je otklanjanje pogrešaka u JSP-u?

Otklanjanje grešaka u JSP-u je proces tracgreška u aplikaciji. Nije baš lako tracgreške i pogreške u aplikaciji. JSP aplikacije su interaktivne s klijentom. Stoga je greške teško reproducirati.

JSP tehnike otklanjanja pogrešaka

Postoje 3 različite tehnike pomoću kojih možemo debugirati JSP aplikaciju:

  • Korištenje naredbi println
  • Korištenje Java Drvosječa
  • Korištenje alata za ispravljanje pogrešaka

Korištenje naredbi println

  • System.out.println() koristi se trace je li određeni dio izvršen ili ne.
  • Možemo ispisati varijable u kodu.
  • Također, možemo ispisati vrijednosti koje je potrebno koristiti za otklanjanje pogrešaka u aplikaciji.

Primjer:

U ovom primjeru ispravljamo pogreške kroz naredbe println da bismo razumjeli koje vrijednosti dobivamo za varijable.

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

Objašnjenje koda:

Code Redak 10: Uzimamo varijablu num1 i inicijaliziramo je na 10.

Code Redak 11: Ispisujemo, koristeći naredbu println, „Ovo je ispravljanje pogrešaka Guru JSP” za otklanjanje pogrešaka u prikazu koji je redak koda izvršen.

Code Redak 12: Ovdje povećavamo varijablu num1 za 1.

Code Redak 13: Dijelimo broj1 s 0 i stavljamo ga u novu varijablu broj2.

Code Redak 14: Budući da želimo znati vrijednost za num2, možemo je dohvatiti pomoću naredbe println kako bismo znali do koje je linije koda izvršeno.

Kada izvršite gornji kod, dobit ćete sljedeći izlaz:

JSP otklanjanje pogrešaka korištenjem println izjava

Izlaz:

Ovdje dobivamo izjavu „Ovo je ispravljanje grešaka Guru JSP” s vrijednošću varijable num1, koja je inkrementirana, dakle 11.

Korištenje Java Drvosječa

  • The Java Okvir za bilježenje koristi se za usluge bilježenja za bilo koju klasu koja se izvršava u JVM.
  • Ovo se koristi za zapisivanje svih informacija iz koda.
  • Zapisuje sve potrebne podatke trace greške koje su se pojavile.

Primjer:

U ovom primjeru koristimo Java drvosječa za tracinformacije u kodu. Poruke se mogu prikazati pomoću različitih funkcija kao što su severe(), warning(), info(), config()i fine(). Info se koristi za prikaz informacija u datoteci zapisnika. Severe se koristi za prikaz nekih ozbiljnih informacija u datoteci zapisnika.

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

Objašnjenje koda:

Code Redak 2: Mi uvozimo Java logger za zapisivanje informacija.

Code Redak 3: Uvozimo klasu Date iz util paketa.

Code Redak 13: Klasu loggera inicijaliziramo pomoću metode getLogger.

Code Redak 14: Inicijaliziramo klasu Date.

Code Redak 15: Za ispis trenutnog datuma koristimo metodu info objekta klase logger.

Code Redak 16: Koristimo info metodu za ispis 'Ovo je Guru Program za ispravljanje pogrešaka u zapisivanju'.

Kada izvršite gornji kod, dobit ćete sljedeći izlaz:

Korištenje JSP otklanjanja pogrešaka Java Drvosječa

Izlaz:

Izlaz ćemo dobiti u std.log datoteci, koja će biti pohranjena u mapi Logging na poslužitelju. Ovdje ćemo dobiti informacije koje su zapisane u kodu.

Korištenje alata za otklanjanje pogrešaka

Koristili smo Eclipse od početka tutorijala. U Eclipse, imamo alate za ispravljanje pogrešaka ili grešaka u kodu.

Kako otkloniti pogreške u JSP-u Eclipse

Evo koraka za uklanjanje pogrešaka u JSP aplikaciji Eclipse pomoću alata za otklanjanje pogrešaka:

  1. Postavite točku prekida.
  2. Ponovno pokrenite poslužitelj u načinu rada za otklanjanje pogrešaka.
  3. Otklanjanje grešaka putem točaka prekida.

Korak 1) Postavite prijelomnu točku

Možemo postaviti točku prekida u kodu, gdje želimo trace kod:

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

Ovdje postavljamo breakpoint kao 'toggle breakpoint' kada desnom tipkom miša kliknete na istraživač projekta. Možemo postaviti breakpointove na kojima se javlja greška ili bug. Nakon što su postavljeni, debugger će se pomaknuti na prvu breakpoint, zatim na sljedeću i tako dalje. Aplikacija će se pokretati uz pomoć breakpointova. Nakon postavljanja breakpointa, moramo ponovno pokrenuti poslužitelj u debug načinu rada.

Korak 2) Ponovno pokrenite poslužitelj u načinu rada za otklanjanje pogrešaka

Poslužitelj možemo ponovno pokrenuti u načinu rada za otklanjanje pogrešaka klikom na stranu poslužitelja i klikom na Pokreni u načinu rada za otklanjanje pogrešaka.

Debug JSP in Eclipse

Korak 3) Ispravite pogreške kroz prijelomne točke

Aplikaciju možemo debugirati klikom na aplikaciju kao Debug As:

Debug JSP in Eclipse

Dobivate upozorenje za promjenu perspektive; zatim kliknite gumb "Da". Nakon što kliknete gumb "Da", dobit ćemo sljedeću perspektivu:

Debug JSP in Eclipse

Dobit ćemo karticu Varijable gdje možemo vidjeti vrijednosti varijabli:

Debug JSP in Eclipse

Kartica Točke prekida prikazuje broj točaka prekida u kodu:

Debug JSP in Eclipse

Aplikaciju možemo ispravljati putem postavljenih točaka prekida.

Pitanja i odgovori

Da. AI asistenti mogu analizirati stog traces, uočiti null pokazivače ili pogreške dijeljenja i predložiti ispravke u JSP i servlet kodu. To ubrzava otklanjanje pogrešaka, ali trebali biste potvrditi ispravak pokretanjem stranice.

Ne. Umjetna inteligencija predlaže vjerojatne uzroke, ali korakping kroz točke prekida u Eclipse i dalje daje precizne vrijednosti varijabli tijekom izvođenja koje potvrđuju stvarni problem. Dva pristupa najbolje funkcioniraju zajedno.

println ispisuje izravno u konzolu i teško ga je upravljati u velikim razmjerima. Logger bilježi poruke na razinama, kao što su info ili severe, u datoteke zapisnika koje se kasnije mogu filtrirati, zadržati i analizirati.

Pogreška 500 obično dolazi od neuhvaćene iznimke u JSP-u, kao što je NullPointerException ili dijeljenje s nulom. Točan uzrok prikazan je u zapisnicima poslužitelja i stogu. trace.

Sažmite ovu objavu uz: