JSP silumine: kuidas JSP-d sisse siluda Eclipse?

โšก Nutikas kokkuvรตte

JSP-s silumine on protsess, mis hรตlmab jรคrgmist: tracJSP-rakenduses vigu otsida. See ressurss selgitab kolme silumistehnikat โ€“ println-lauseid, Java Logija ja siluri tรถรถriistad โ€“ ja juhised JSP-lehe silumiseks Eclipse kasutades katkestuspunkte ja silumisreลพiimi.

  • ๐Ÿž Mรครคratlus: Silumine traces vead, mida on kliendi-interaktiivsetes JSP-rakendustes raske taasesitada.
  • ๐Ÿ–จ๏ธ println: System.out.println() prindib muutujate vรครคrtused, et kinnitada, millised koodiread kรคivitati.
  • ๐Ÿ“ Java Logija: Logimisraamistik salvestab logifailidesse tasemepรตhiseid sรตnumeid, nรคiteks teavet ja raskusastet.
  • ๐Ÿ”ง Silumisriistad: Eclipse pakub katkestuspunkte ja muutujate vaadet kรคitusaja oleku kontrollimiseks.
  • โ–ถ ๏ธ Eclipse Sammud: Mรครคrake katkestuspunktid, taaskรคivitage server silumisreลพiimis ja seejรคrel kรคige koodis samm-sammult lรคbi.

JSP silumine

Mis on silumine JSP-s?

JSP-s silumine on protsess, mis hรตlmab jรคrgmist: tracrakenduses oleva vea tuvastamine. Seda pole eriti lihtne teha tracRakenduse vead ja vead. JSP-rakendused on kliendiga interaktiivsed. Seetรตttu on vigu raske taasesitada.

JSP silumistehnikad

JSP-rakenduse silumiseks on kolm erinevat tehnikat:

  • Println-lausete kasutamine
  • Kasutamine Java Logger
  • Siluri tรถรถriistade kasutamine

Println-i avalduste kasutamine

  • System.out.println() on harjunud trace kas teatud osa tรคidetakse vรตi mitte.
  • Saame koodis olevad muutujad printida.
  • Samuti saame printida vรครคrtusi, mida tuleb rakenduse silumiseks kasutada.

Nรคide:

Selles nรคites silume println-lausete kaudu, et mรตista, millised vรครคrtused muutujate jaoks saame.

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

Koodi selgitus:

Code Rida 10: Me vรตtame muutuja num1 ja initsialiseerime selle vรครคrtuseks 10.

Code Rida 11: Me trรผkime println-lause abil vรคlja โ€žSee on silumine Guru JSPโ€, et siluda, milline koodirida on kรคivitatud.

Code Rida 12: Siin suurendame muutuja num1 vรครคrtust 1 vรตrra.

Code Rida 13: Jagame arvu number1 nulliga ja paneme selle uude muutujasse number2.

Code Rida 14: Kuna me tahame teada num2 vรครคrtust, saame selle hankida println-lause abil, et teada saada, millise koodireani on juba kรคivitatud.

Kui kรคivitate รผlaltoodud koodi, saate jรคrgmise vรคljundi:

JSP silumine println-i avalduste abil

Vรคljund:

Siin saame avalduse โ€žSee on silumine Guru JSPโ€ muutuja num1 vรครคrtusega, mida on suurendatud, seega 11.

Kasutamine Java Logger

  • . Java logimisraamistikku kasutatakse logimisteenuste jaoks mis tahes klassi jaoks, mis tรถรถtab FMV.
  • Seda kasutatakse koodist mis tahes teabe logimiseks.
  • See logib kogu vajaliku teabe trace tekkinud vead.

Nรคide:

Selles nรคites kasutame me Java metsaraie tegija trackoodis olevat teavet. Sรตnumeid saab kuvada erinevate funktsioonide abil, nรคiteks severe(), warning(), info(), config()ja fine(). โ€žInfoโ€ kuvab logifailis olevat teavet. โ€žSevereโ€ kuvab logifailis olevat tรตsist teavet.

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

Koodi selgitus:

Code Rida 2: Me impordime Java logija teabe logimiseks.

Code Rida 3: Impordime utiliidipaketi kuupรคevaklassi.

Code Rida 13: Me initsialiseerime loggeri klassi meetodi getLogger abil.

Code Rida 14: Me initsialiseerime kuupรคevaklassi.

Code Rida 15: Praeguse kuupรคeva printimiseks kasutame loggeri klassi objekti info-meetodit.

Code Rida 16: Me kasutame info meetodit, et printida 'See on' Guru Logimise silur.

รœlaltoodud koodi kรคivitamisel saate jรคrgmise vรคljundi:

JSP silumise kasutamine Java Logger

Vรคljund:

Vรคljund saadakse failis std.log, mis salvestatakse serveri logimise kausta. Siit saame koodis kirjutatud teabe.

Silumistรถรถriistade kasutamine

Oleme kasutanud Eclipse รตpetuse algusest peale. Sisse Eclipse, on meil silumistรถรถriistad koodi vigade silumiseks.

Kuidas siluda JSP-d Eclipse

Siin on juhised JSP-rakenduse silumiseks Eclipse kasutades silumistรถรถriistu:

  1. Mรครคrake murdepunkt.
  2. Taaskรคivitage server silumisreลพiimis.
  3. Silumine katkestuspunktide kaudu.

Samm 1) Mรครคrake katkestuspunkt

Saame koodis mรครคrata katkestuspunkti sinna, kuhu soovime trace kood:

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

Siin seadistame katkestuspunkti kui โ€žkatkestuspunkti sisse/vรคlja lรผlitamineโ€, kui paremklรตpsate projekti exploreril. Saame mรครคrata katkestuspunktid kohtades, kus viga vรตi viga esineb. Kui need on seatud, liigub silur esimesele katkestuspunktile ja seejรคrel jรคrgmisele jne. See tรถรถtab rakenduses katkestuspunktide abil. Pรคrast katkestuspunkti seadistamist peame serveri silumisreลพiimis taaskรคivitama.

Samm 2) Taaskรคivitage server silumisreลพiimis

Saame serveri silumisreลพiimis taaskรคivitada, klรตpsates serveri poolel ja seejรคrel klรตpsates nuppu Alusta silumisreลพiimis.

Silu JSP sisse Eclipse

3. samm) Silumine katkestuspunktide kaudu

Rakenduse silumiseks klรตpsame rakendusel nimega Debug As:

Silu JSP sisse Eclipse

Saate teate perspektiivi vahetamiseks; seejรคrel klรตpsake nuppu โ€žJahโ€œ. Pรคrast nupule โ€žJahโ€œ klรตpsamist kuvatakse jรคrgmine perspektiiv:

Silu JSP sisse Eclipse

Saame vahekaardi Muutujad, kus nรคeme muutujate vรครคrtusi:

Silu JSP sisse Eclipse

Vahekaart โ€žKatkestuspunktidโ€ nรคitab koodis olevate katkestuspunktide arvu:

Silu JSP sisse Eclipse

Rakendust saame siluda seatud katkestuspunktide kaudu.

KKK

Jah. Tehisintellekti assistendid saavad virna analรผรผsida traces, tuvastavad null-vihjeid vรตi jagamisvigu ning pakuvad vรคlja parandusi JSP ja servleti koodis. See kiirendab silumist, kuid paranduse kinnitamiseks peaksite lehe kรคivitama.

Ei. Tehisintellekt pakub vรคlja tรตenรคolisi pรตhjuseid, aga samm edasiping lรคbi murdepunktide Eclipse annab ikkagi tรคpsed kรคitusaja muutujate vรครคrtused, mis kinnitavad tegelikku probleemi. Need kaks lรคhenemisviisi toimivad kรตige paremini koos.

println prindib otse konsoolile ja seda on raske suures mahus hallata. Logija salvestab tasemepรตhiseid teateid, nรคiteks info vรตi tรตsine, logifailidesse, mida saab hiljem filtreerida, sรคilitada ja analรผรผsida.

500-viga tuleneb tavaliselt JSP-s tabamata erandist, nรคiteks NullPointerExceptionist vรตi nulliga jagamisest. Tรคpne pรตhjus on nรคidatud serveri logides ja pinus. trace.

Vรตta see postitus kokku jรคrgmiselt: