Εντοπισμός σφαλμάτων JSP: Τρόπος εντοπισμού σφαλμάτων στο JSP Eclipse?

⚡ Έξυπνη Σύνοψη

Η αποσφαλμάτωση σε JSP είναι η διαδικασία tracσφάλματα σε μια εφαρμογή JSP. Αυτός ο πόρος εξηγεί τρεις τεχνικές εντοπισμού σφαλμάτων - εντολές println, οι Java Εργαλεία καταγραφής σφαλμάτων και εντοπισμού σφαλμάτων—και οδηγίες για τον τρόπο εντοπισμού σφαλμάτων σε μια σελίδα JSP στο Eclipse χρησιμοποιώντας σημεία διακοπής και λειτουργία εντοπισμού σφαλμάτων.

  • 🐞 Ορισμός: Debugging tracΣφάλματα es που είναι δύσκολο να αναπαραχθούν σε εφαρμογές JSP που αλληλεπιδρούν με τον πελάτη.
  • 🖨️ println: Η συνάρτηση System.out.println() εκτυπώνει τιμές μεταβλητών για να επιβεβαιώσει ποιες γραμμές κώδικα εκτελέστηκαν.
  • 📝 Java Κόπτων δέντρα διά ξυλείαν: Το πλαίσιο καταγραφής καταγράφει μηνύματα με επίπεδα, όπως πληροφορίες και αρχεία καταγραφής σοβαρών ζητημάτων.
  • 🔧 Εργαλεία εντοπισμού σφαλμάτων: Eclipse Παρέχει σημεία διακοπής και μια προβολή μεταβλητών για την επιθεώρηση της κατάστασης εκτέλεσης.
  • ▶ ️ Eclipse Βήματα: Ορίστε σημεία διακοπής, επανεκκινήστε τον διακομιστή σε λειτουργία εντοπισμού σφαλμάτων και, στη συνέχεια, προχωρήστε βήμα προς βήμα στον κώδικα.

Αποσφαλμάτωση JSP

Τι είναι ο εντοπισμός σφαλμάτων στο JSP;

Η αποσφαλμάτωση σε JSP είναι η διαδικασία tracτο σφάλμα στην εφαρμογή. Δεν είναι πολύ εύκολο να tracΣφάλματα και σφάλματα στην εφαρμογή. Οι εφαρμογές JSP είναι διαδραστικές με τον πελάτη. Επομένως, τα σφάλματα είναι δύσκολο να αναπαραχθούν.

Τεχνικές εντοπισμού σφαλμάτων JSP

Υπάρχουν 3 διαφορετικές τεχνικές μέσω των οποίων μπορούμε να εντοπίσουμε σφάλματα σε μια εφαρμογή JSP:

  • Χρήση δηλώσεων println
  • Χρησιμοποιώντας Java Καταγραφέας
  • Χρήση εργαλείων εντοπισμού σφαλμάτων

Χρήση των δηλώσεων println

  • System.out.println() χρησιμοποιείται για να tracε. εάν ένα συγκεκριμένο μέρος εκτελείται ή όχι.
  • Μπορούμε να εκτυπώσουμε τις μεταβλητές στον κώδικα.
  • Επίσης, μπορούμε να εκτυπώσουμε τιμές που πρέπει να χρησιμοποιηθούν για την αποσφαλμάτωση της εφαρμογής.

Παράδειγμα:

Σε αυτό το παράδειγμα, πραγματοποιούμε διόρθωση σφαλμάτων μέσω των δηλώσεων println για να κατανοήσουμε ποιες τιμές λαμβάνουμε για τις μεταβλητές.

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

Επεξήγηση του κώδικα:

Code Γραμμή 10: Παίρνουμε τη μεταβλητή num1 και την αρχικοποιούμε στο 10.

Code Γραμμή 11: Εκτυπώνουμε, χρησιμοποιώντας την εντολή println, "Αυτό είναι εντοπισμός σφαλμάτων Guru JSP" για τον εντοπισμό σφαλμάτων σε ποια γραμμή κώδικα έχει εκτελεστεί.

Code Γραμμή 12: Εδώ αυξάνουμε τη μεταβλητή num1 κατά 1.

Code Γραμμή 13: Διαιρούμε το num1 με το 0 και το βάζουμε σε μια νέα μεταβλητή num2.

Code Γραμμή 14: Καθώς θέλουμε να μάθουμε την τιμή για το num2, μπορούμε να την ανακτήσουμε χρησιμοποιώντας την εντολή println για να μάθουμε μέχρι ποια γραμμή κώδικα έχει εκτελεστεί.

Όταν εκτελείτε τον παραπάνω κώδικα, λαμβάνετε την ακόλουθη έξοδο:

Εντοπισμός σφαλμάτων JSP με χρήση δηλώσεων println

Παραγωγή:

Εδώ, λαμβάνουμε την πρόταση "Αυτό είναι εντοπισμός σφαλμάτων Guru JSP" με την τιμή της μεταβλητής num1, η οποία έχει αυξηθεί, άρα 11.

Χρησιμοποιώντας Java Καταγραφέας

  • The Java Το πλαίσιο καταγραφής χρησιμοποιείται για υπηρεσίες καταγραφής για οποιαδήποτε κλάση εκτελείται στο FMV.
  • Αυτό χρησιμοποιείται για την καταγραφή οποιασδήποτε πληροφορίας από τον κώδικα.
  • Καταγράφει όλες τις απαραίτητες πληροφορίες tracε. τα σφάλματα που έχουν συμβεί.

Παράδειγμα:

Σε αυτό το παράδειγμα, χρησιμοποιούμε το Java καταγραφέας σε tracτις πληροφορίες στον κώδικα. Τα μηνύματα μπορούν να εμφανιστούν χρησιμοποιώντας διαφορετικές συναρτήσεις όπως severe(), warning(), info(), config()και fine()Το . Info χρησιμοποιείται για την εμφάνιση των πληροφοριών στο αρχείο καταγραφής. Το Severe χρησιμοποιείται για την εμφάνιση ορισμένων πληροφοριών severe στο αρχείο καταγραφής.

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

Επεξήγηση του κώδικα:

Code Γραμμή 2: Εισάγουμε το Java καταγραφέα για την καταγραφή των πληροφοριών.

Code Γραμμή 3: Εισάγουμε την κλάση Date του πακέτου util.

Code Γραμμή 13: Αρχικοποιούμε την κλάση καταγραφής χρησιμοποιώντας τη μέθοδο getLogger.

Code Γραμμή 14: Αρχικοποιούμε την κλάση Date.

Code Γραμμή 15: Χρησιμοποιούμε τη μέθοδο info του αντικειμένου κλάσης logger για να εκτυπώσουμε την τρέχουσα ημερομηνία.

Code Γραμμή 16: Χρησιμοποιούμε τη μέθοδο info για να εκτυπώσουμε 'Αυτό είναι' Guru Πρόγραμμα εντοπισμού σφαλμάτων καταγραφής.

Όταν εκτελέσετε τον παραπάνω κώδικα, θα λάβετε την ακόλουθη έξοδο:

Εντοπισμός σφαλμάτων JSP με χρήση Java Καταγραφέας

Παραγωγή:

Θα λάβουμε την έξοδο στο std.log, το οποίο θα αποθηκευτεί στον φάκελο Logging στον διακομιστή. Εδώ θα λάβουμε τις πληροφορίες που έχουν γραφτεί στον κώδικα.

Χρήση εργαλείων εντοπισμού σφαλμάτων

Χρησιμοποιούμε Eclipse από την αρχή του σεμιναρίου. Στο Eclipse, έχουμε εργαλεία εντοπισμού σφαλμάτων για τον εντοπισμό σφαλμάτων ή σφαλμάτων στον κώδικα.

Τρόπος εντοπισμού σφαλμάτων στο JSP Eclipse

Ακολουθούν τα βήματα για τον εντοπισμό σφαλμάτων μιας εφαρμογής JSP Eclipse χρησιμοποιώντας εργαλεία εντοπισμού σφαλμάτων:

  1. Ορίστε το Σημείο Διακοπής.
  2. Επανεκκινήστε τον διακομιστή σε λειτουργία εντοπισμού σφαλμάτων.
  3. Εντοπισμός σφαλμάτων μέσω σημείων διακοπής.

Βήμα 1) Ορίστε το σημείο διακοπής

Μπορούμε να ορίσουμε το σημείο διακοπής στον κώδικα, όπου θέλουμε να tracε τον κώδικα:

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

Εδώ ορίζουμε το σημείο διακοπής ως «εναλλαγή σημείου διακοπής» όταν κάνετε δεξί κλικ στην εξερεύνηση του έργου. Μπορούμε να ορίσουμε τα σημεία διακοπής όπου παρουσιάζεται το σφάλμα ή το σφάλμα. Μόλις οριστούν, το πρόγραμμα εντοπισμού σφαλμάτων θα μετακινηθεί στο πρώτο σημείο διακοπής και στη συνέχεια στο επόμενο, και ούτω καθεξής. Θα εκτελεστεί μέσω της εφαρμογής με τη βοήθεια των σημείων διακοπής. Αφού ορίσουμε το σημείο διακοπής, πρέπει να επανεκκινήσουμε τον διακομιστή σε λειτουργία εντοπισμού σφαλμάτων.

Βήμα 2) Κάντε επανεκκίνηση του διακομιστή σε λειτουργία εντοπισμού σφαλμάτων

Μπορούμε να επανεκκινήσουμε τον διακομιστή σε λειτουργία εντοπισμού σφαλμάτων κάνοντας κλικ στην πλευρά του διακομιστή και κάνοντας κλικ στην επιλογή Έναρξη σε λειτουργία εντοπισμού σφαλμάτων.

Εντοπισμός σφαλμάτων JSP σε Eclipse

Βήμα 3) Εντοπισμός σφαλμάτων μέσω Σημείων Διακοπής

Μπορούμε να εντοπίσουμε σφάλματα στην εφαρμογή κάνοντας κλικ στην εφαρμογή ως Debug As:

Εντοπισμός σφαλμάτων JSP σε Eclipse

Λαμβάνετε μια ειδοποίηση για να αλλάξετε την προοπτική. Στη συνέχεια, κάνετε κλικ στο κουμπί "Ναι". Αφού κάνετε κλικ στο κουμπί "Ναι", θα εμφανιστεί η ακόλουθη προοπτική:

Εντοπισμός σφαλμάτων JSP σε Eclipse

Θα εμφανιστεί η καρτέλα Μεταβλητές, όπου μπορούμε να δούμε τις τιμές των μεταβλητών:

Εντοπισμός σφαλμάτων JSP σε Eclipse

Η καρτέλα Σημεία διακοπής εμφανίζει τον αριθμό των σημείων διακοπής στον κώδικα:

Εντοπισμός σφαλμάτων JSP σε Eclipse

Μπορούμε να εντοπίσουμε σφάλματα στην εφαρμογή μέσω των σημείων διακοπής που έχουν οριστεί.

Συχνές Ερωτήσεις

Ναι. Οι βοηθοί τεχνητής νοημοσύνης μπορούν να αναλύσουν τη στοίβα traces, εντοπίζουν null δείκτες ή σφάλματα διαίρεσης και προτείνουν διορθώσεις σε κώδικα JSP και servlet. Αυτό επιταχύνει την αποσφαλμάτωση, αλλά θα πρέπει να επιβεβαιώσετε τη διόρθωση εκτελώντας τη σελίδα.

Όχι. Η τεχνητή νοημοσύνη υποδηλώνει πιθανές αιτίες, αλλά το βήμαping μέσω σημείων διακοπής σε Eclipse εξακολουθεί να παρέχει ακριβείς τιμές μεταβλητών χρόνου εκτέλεσης που επιβεβαιώνουν το πραγματικό πρόβλημα. Οι δύο προσεγγίσεις λειτουργούν καλύτερα μαζί.

Το println εκτυπώνει απευθείας στην κονσόλα και είναι δύσκολο να διαχειριστεί σε μεγάλη κλίμακα. Ένα καταγραφικό καταγράφει μηνύματα με ισοπέδωση, όπως info ή severe, σε αρχεία καταγραφής που μπορούν να φιλτραριστούν, να διατηρηθούν και να αναλυθούν αργότερα.

Ένα σφάλμα 500 συνήθως προέρχεται από μια εξαίρεση που δεν εντοπίστηκε στο JSP, όπως μια NullPointerException ή μια διαίρεση με το μηδέν. Η ακριβής αιτία εμφανίζεται στα αρχεία καταγραφής και στη στοίβα του διακομιστή. trace.

Συνοψίστε αυτήν την ανάρτηση με: