Depanare JSP: Cum să depanați JSP în Eclipse?

⚡ Rezumat inteligent

Depanarea în JSP este procesul de tracerori într-o aplicație JSP. Această resursă explică trei tehnici de depanare - instrucțiunile println, Java Instrumente de înregistrare și depanare - și prezintă cum se depanează o pagină JSP în Eclipse folosind puncte de întrerupere și modul de depanare.

  • ???? Definiție: Depanarea tracerori es care sunt greu de reprodus în aplicațiile JSP interactive cu clientul.
  • 🖨️ println: System.out.println() afișează valori variabile pentru a confirma ce linii de cod au fost executate.
  • 📝 Java Logger: Cadrul de jurnalizare înregistrează mesajele clasificate, cum ar fi informațiile și erorile grave, în fișierele jurnal.
  • 🔧 Instrumente de depanare: Eclipse oferă puncte de întrerupere și o vizualizare a variabilelor pentru a inspecta starea de execuție.
  • ▶ ️ Eclipse Pași: Setați puncte de întrerupere, reporniți serverul în modul de depanare, apoi parcurgeți codul pas cu pas.

Depanare JSP

Ce este Depanarea în JSP?

Depanarea în JSP este procesul de tracremedierea erorii în aplicație. Nu este foarte ușor de tracerori și erori în aplicație. Aplicațiile JSP sunt interactive cu clientul. Prin urmare, erorile sunt dificil de reprodus.

Tehnici de depanare JSP

Există 3 tehnici diferite prin care putem depana o aplicație JSP:

  • Folosind instrucțiuni println
  • Utilizarea Java Logger
  • Utilizarea instrumentelor Debugger

Folosind instrucțiuni println

  • System.out.println() este utilizat pentru a trace dacă o anumită parte este executată sau nu.
  • Putem imprima variabilele din cod.
  • De asemenea, putem imprima valori care trebuie utilizate pentru depanarea aplicației.

Exemplu:

În acest exemplu, depanăm instrucțiunile println pentru a înțelege ce valori obținem pentru variabile.

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

Explicația codului:

Code Linia 10: Luăm variabila num1 și o inițializăm la 10.

Code Linia 11: Imprimăm, folosind instrucțiunea println, „Aceasta este o depanare Guru JSP” pentru a depana ce linie de cod a fost executată.

Code Linia 12: Aici incrementăm variabila num1 cu 1.

Code Linia 13: Împărțim num1 la 0 și îl introducem într-o nouă variabilă num2.

Code Linia 14: Deoarece dorim să știm valoarea pentru num2, o putem obține folosind instrucțiunea println pentru a ști până la ce linie de cod a fost executată.

Când executați codul de mai sus, obțineți următoarea ieșire:

Depanare JSP folosind instrucțiuni println

ieșire:

Aici primim instrucțiunea „Aceasta este o depanare” Guru JSP” cu valoarea variabilei num1, care a fost incrementată, deci 11.

Utilizarea Java Logger

  • Java Framework-ul de jurnalizare este utilizat pentru serviciile de jurnalizare pentru orice clasă care rulează în FMV.
  • Acesta este folosit pentru a înregistra orice informații din cod.
  • Înregistrează toate informațiile necesare pentru a trace erorile care au apărut.

Exemplu:

În acest exemplu, folosim Java logger către tracinformațiile din cod. Mesajele pot fi afișate folosind diferite funcții, cum ar fi severe(), warning(), info(), config() și fine()„Info” este folosit pentru a afișa informațiile din fișierul jurnal. „Severe” este folosit pentru a afișa anumite informații grave în fișierul jurnal.

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

Explicația codului:

Code Linia 2: Importăm Java logger pentru a înregistra informațiile.

Code Linia 3: Importăm clasa Date din pachetul util.

Code Linia 13: Inițializăm clasa logger folosind metoda getLogger.

Code Linia 14: Inițializăm clasa Date.

Code Linia 15: Folosim metoda info a obiectului clasei logger pentru a afișa data curentă.

Code Linia 16: Folosim metoda info pentru a afișa „Acesta este Guru Depanator de jurnalizare.

Când executați codul de mai sus, veți obține următorul rezultat:

Utilizarea depanării JSP Java Logger

ieșire:

Vom obține rezultatul în fișierul std.log, care va fi stocat în folderul Logging de pe server. Aici vom obține informațiile scrise în cod.

Utilizarea instrumentelor de depanare

Am folosit Eclipse încă de la începutul tutorialului. În Eclipse, avem instrumente de depanare pentru a depana erorile sau bug-urile din cod.

Cum să depanați JSP în Eclipse

Iată pașii pentru a depana o aplicație JSP Eclipse folosind instrumente de depanare:

  1. Setați Punctul de întrerupere.
  2. Reporniți serverul în modul de depanare.
  3. Depanare prin puncte de întrerupere.

Pasul 1) Setați punctul de întrerupere

Putem seta punctul de întrerupere în cod, acolo unde dorim să traccodul:

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

Aici setăm punctul de întrerupere ca „comutare punct de întrerupere” atunci când faceți clic dreapta pe exploratorul de proiect. Putem seta punctele de întrerupere unde apare eroarea sau eroarea. Odată ce acestea sunt setate, depanatorul se va muta la primul punct de întrerupere, apoi la următorul și așa mai departe. Va rula prin aplicație cu ajutorul punctelor de întrerupere. După setarea punctului de întrerupere, trebuie să repornim serverul în modul de depanare.

Pasul 2) Reporniți serverul în modul de depanare

Putem reporni serverul în modul de depanare făcând clic pe partea de server și apoi pe Start in Debug mode.

Depanați JSP în Eclipse

Pasul 3) Depanați prin punctele de întrerupere

Putem depana aplicația făcând clic pe aplicație ca Debug As:

Depanați JSP în Eclipse

Primești o alertă pentru a schimba perspectiva; apoi dă clic pe butonul „Da”. După ce dai clic pe butonul „Da”, vom obține următoarea perspectivă:

Depanați JSP în Eclipse

Vom obține fila Variabile, unde putem vedea valorile variabilelor:

Depanați JSP în Eclipse

Fila Puncte de întrerupere afișează numărul de puncte de întrerupere din cod:

Depanați JSP în Eclipse

Putem depana aplicația prin intermediul punctelor de întrerupere care au fost setate.

Întrebări frecvente

Da. Asistenții AI pot analiza stiva traces, identifică pointeri nuli sau erori de diviziune și sugerează remedieri în codul JSP și servlet. Acest lucru accelerează depanarea, dar ar trebui să confirmați remedierea rulând pagina.

Nu. IA sugerează cauze probabile, dar pasulping prin puncte de întrerupere în Eclipse oferă în continuare valori precise ale variabilelor în timpul execuției care confirmă problema reală. Cele două abordări funcționează cel mai bine împreună.

`println` afișează direct în consolă și este dificil de gestionat la scară largă. Un logger înregistrează mesaje clasificate, cum ar fi `info` sau `severe`, în fișiere jurnal care pot fi filtrate, păstrate și analizate ulterior.

O eroare 500 provine de obicei dintr-o excepție nedetectată în JSP, cum ar fi o NullPointerException sau o împărțire la zero. Cauza exactă este afișată în jurnalele serverului și în stivă. trace.

Rezumați această postare cu: