Gỡ lỗi JSP: Cách gỡ lỗi JSP trong Eclipse?

⚡ Tóm tắt thông minh

Gỡ lỗi trong JSP là quá trình tracTìm lỗi trong ứng dụng JSP. Tài liệu này giải thích ba kỹ thuật gỡ lỗi—câu lệnh println, Java Các công cụ ghi nhật ký và gỡ lỗi—và hướng dẫn cách gỡ lỗi trang JSP. Eclipse Sử dụng điểm dừng và chế độ gỡ lỗi.

  • 🐞 Định nghĩa: Gỡ lỗi tracCác lỗi này rất khó tái hiện trong các ứng dụng JSP tương tác với máy khách.
  • 🖨️ println: System.out.println() in ra giá trị của các biến để xác nhận dòng mã nào đã được thực thi.
  • 📝 Java Tiều phu: Khung ghi nhật ký ghi lại các thông báo được phân loại như "thông tin" và "nghiêm trọng" vào các tệp nhật ký.
  • 🔧 Công cụ gỡ lỗi: Eclipse Cung cấp các điểm dừng và chế độ xem biến để kiểm tra trạng thái thời gian chạy.
  • ▶ ️ Eclipse Bước sau: Đặt điểm dừng, khởi động lại máy chủ ở chế độ gỡ lỗi, sau đó chạy từng bước mã lệnh.

Gỡ lỗi JSP

Gỡ lỗi trong JSP là gì?

Gỡ lỗi trong JSP là quá trình tracViệc tìm ra lỗi trong ứng dụng không hề dễ dàng. tracCác lỗi và sự cố trong ứng dụng. Ứng dụng JSP là ứng dụng tương tác phía máy khách. Do đó, việc tái hiện lỗi rất khó khăn.

Kỹ thuật gỡ lỗi JSP

Có 3 kỹ thuật khác nhau mà qua đó chúng ta có thể gỡ lỗi một ứng dụng JSP:

  • Sử dụng câu lệnh println
  • Sử dụng Java Bộ ghi chép
  • Sử dụng công cụ gỡ lỗi

Sử dụng câu lệnh println

  • System.out.println() đã từng tracVí dụ: liệu một phần cụ thể có được thực hiện hay không.
  • Chúng ta có thể in các biến trong mã.
  • Ngoài ra, chúng ta cũng có thể in ra các giá trị cần thiết để gỡ lỗi ứng dụng.

Ví dụ:

Trong ví dụ này, chúng tôi đang gỡ lỗi thông qua các câu lệnh println để hiểu những giá trị mà chúng tôi nhận được cho các biến.

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

Giải thích mã:

Code Dòng 10: Chúng ta lấy biến num1 và khởi tạo nó bằng 10.

Code Dòng 11: Chúng ta đang in ra, sử dụng câu lệnh println, "Đây là quá trình gỡ lỗi" Guru Sử dụng "JSP" để gỡ lỗi xem dòng mã nào đã được thực thi.

Code Dòng 12: Ở đây, chúng ta tăng biến num1 lên 1.

Code Dòng 13: Chúng ta chia num1 cho 0 và gán kết quả vào một biến mới là num2.

Code Dòng 14: Vì chúng ta muốn biết giá trị của num2, ta có thể sử dụng câu lệnh println để lấy giá trị đó, từ đó biết được dòng mã nào đã được thực thi.

Khi bạn thực thi đoạn mã trên, bạn sẽ nhận được kết quả sau:

Gỡ lỗi JSP bằng câu lệnh println

Đầu ra:

Ở đây, chúng ta nhận được thông báo "Đây là quá trình gỡ lỗi" Guru JSP” với giá trị của biến num1, đã được tăng lên, do đó là 11.

Sử dụng Java Bộ ghi chép

  • Java Khung ghi nhật ký được sử dụng để ghi nhật ký các dịch vụ cho bất kỳ lớp nào đang chạy trong đó. JVM.
  • Điều này được sử dụng để ghi lại bất kỳ thông tin nào từ mã.
  • Nó ghi lại tất cả thông tin cần thiết vào tracCác lỗi đã xảy ra.

Ví dụ:

Trong ví dụ này, chúng tôi đang sử dụng Java người ghi nhật ký tracThông tin trong mã. Các thông báo có thể được hiển thị bằng cách sử dụng các hàm khác nhau như... severe(), warning(), info(), config()fine().Info được sử dụng để hiển thị thông tin trong tệp nhật ký. Severe được sử dụng để hiển thị một số thông tin nghiêm trọng trong tệp nhật ký.

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

Giải thích mã:

Code Dòng 2: Chúng tôi đang nhập khẩu Java logger để ghi lại thông tin.

Code Dòng 3: Chúng tôi đang nhập lớp Date của gói tiện ích.

Code Dòng 13: Chúng ta đang khởi tạo lớp ghi nhật ký bằng cách sử dụng phương thức getLogger.

Code Dòng 14: Chúng ta đang khởi tạo lớp Date.

Code Dòng 15: Chúng tôi sử dụng phương thức `info` của đối tượng lớp `logger` để in ngày hiện tại.

Code Dòng 16: Chúng tôi đang sử dụng phương thức info để in 'Đây là' Guru Gỡ lỗi ghi nhật ký.

Khi bạn thực thi đoạn mã trên, bạn sẽ nhận được kết quả như sau:

Gỡ lỗi JSP bằng cách sử dụng Java Bộ ghi chép

Đầu ra:

Chúng ta sẽ nhận được kết quả đầu ra trong std.log, được lưu trữ trong thư mục Logging trên máy chủ. Tại đây, chúng ta sẽ nhận được thông tin đã được ghi trong mã.

Sử dụng công cụ gỡ lỗi

Chúng tôi đã và đang sử dụng Eclipse kể từ khi bắt đầu hướng dẫn. TRONG Eclipse, chúng tôi có các công cụ gỡ lỗi để gỡ lỗi hoặc lỗi trong mã.

Cách gỡ lỗi JSP trong Eclipse

Dưới đây là các bước để gỡ lỗi một ứng dụng JSP trong Eclipse sử dụng các công cụ gỡ lỗi:

  1. Đặt điểm dừng.
  2. Khởi động lại máy chủ ở chế độ gỡ lỗi.
  3. Gỡ lỗi thông qua các điểm dừng.

Bước 1) Đặt điểm dừng

Chúng ta có thể đặt điểm dừng trong mã, tại vị trí mà chúng ta muốn. tracmã:

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

Ở đây, chúng ta thiết lập điểm dừng là 'điểm dừng bật/tắt' khi bạn nhấp chuột phải vào trình khám phá dự án. Chúng ta có thể đặt các điểm dừng tại nơi xảy ra lỗi. Sau khi thiết lập, trình gỡ lỗi sẽ di chuyển đến điểm dừng đầu tiên, rồi đến điểm dừng tiếp theo, và cứ thế tiếp tục. Nó sẽ chạy ứng dụng với sự trợ giúp của các điểm dừng. Sau khi thiết lập điểm dừng, chúng ta cần khởi động lại máy chủ ở chế độ gỡ lỗi.

Bước 2) Khởi động lại máy chủ ở chế độ gỡ lỗi

Chúng ta có thể khởi động lại máy chủ ở chế độ gỡ lỗi bằng cách nhấp vào phía máy chủ và nhấp vào "Khởi động ở chế độ gỡ lỗi".

Gỡ lỗi JSP trong Eclipse

Bước 3) Gỡ lỗi thông qua Điểm dừng

Chúng ta có thể gỡ lỗi ứng dụng bằng cách nhấp vào ứng dụng và chọn "Gỡ lỗi với tư cách":

Gỡ lỗi JSP trong Eclipse

Bạn sẽ nhận được thông báo yêu cầu chuyển đổi góc nhìn; sau đó nhấp vào nút “Có”. Sau khi nhấp vào nút “Có”, chúng ta sẽ có góc nhìn như sau:

Gỡ lỗi JSP trong Eclipse

Chúng ta sẽ thấy tab Biến, nơi ta có thể xem giá trị của các biến:

Gỡ lỗi JSP trong Eclipse

Tab Điểm dừng hiển thị số lượng điểm dừng trong mã:

Gỡ lỗi JSP trong Eclipse

Chúng ta có thể gỡ lỗi ứng dụng thông qua các điểm dừng đã được thiết lập.

Câu Hỏi Thường Gặp

Đúng vậy. Trợ lý AI có thể phân tích chồng ảnh. tracCông cụ này giúp phát hiện các lỗi con trỏ null hoặc lỗi chia, và đề xuất cách khắc phục trong mã JSP và servlet. Điều này giúp tăng tốc độ gỡ lỗi, nhưng bạn nên xác nhận lại bằng cách chạy trang.

Không. AI gợi ý các nguyên nhân có thể xảy ra, nhưng bước tiếp theo là...ping thông qua các điểm ngắt trong Eclipse Phương pháp này vẫn cung cấp các giá trị biến thời gian chạy chính xác, giúp xác nhận vấn đề thực sự. Hai phương pháp này hoạt động hiệu quả nhất khi kết hợp với nhau.

Lệnh `println` in trực tiếp ra màn hình console và khó quản lý ở quy mô lớn. Một trình ghi nhật ký (logger) ghi lại các thông báo được phân loại, chẳng hạn như "info" hoặc "severe", vào các tệp nhật ký có thể được lọc, lưu giữ và phân tích sau này.

Lỗi 500 thường xuất phát từ một ngoại lệ không được xử lý trong JSP, chẳng hạn như NullPointerException hoặc chia cho 0. Nguyên nhân chính xác được hiển thị trong nhật ký máy chủ và ngăn xếp. trace.

Tóm tắt bài viết này với: