การดีบัก JSP: วิธีการดีบัก JSP ใน Eclipse?

การดีบักใน JSP คืออะไร

การดีบักใน JSP เป็นกระบวนการในการติดตามข้อผิดพลาดในแอปพลิเคชัน การติดตามข้อบกพร่องและข้อผิดพลาดในแอปพลิเคชันไม่ใช่เรื่องง่าย แอปพลิเคชัน JSP เป็นแบบโต้ตอบกับไคลเอ็นต์ ดังนั้นข้อผิดพลาดจึงเกิดขึ้นได้ยาก

เทคนิคการดีบัก JSP

มี 3 เทคนิคที่แตกต่างกันซึ่งเราสามารถดีบักแอปพลิเคชัน JSP ได้:

  • การใช้คำสั่ง println
  • การใช้ Java คนตัดไม้
  • การใช้เครื่องมือดีบักเกอร์

การใช้คำสั่ง println

  • System.out.println() ใช้เพื่อติดตามว่ามีการดำเนินการส่วนใดหรือไม่
  • เราสามารถพิมพ์ตัวแปรในโค้ดได้
  • นอกจากนี้เรายังสามารถพิมพ์ค่าที่จำเป็นต้องใช้ในการดีบักแอปพลิเคชันได้

ตัวอย่าง:

ในตัวอย่างนี้ เรากำลังดีบั๊กผ่านคำสั่ง 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>

คำอธิบายของรหัส:

รหัสบรรทัด 10: เรากำลังรับตัวแปร num1 และกำหนดค่าเริ่มต้นเป็น 10

รหัสบรรทัด 11: เรากำลังพิมพ์โดยใช้คำสั่ง println ว่า “นี่คือการดีบัก Guru JSP” เพื่อดีบักบรรทัดของโค้ดที่ถูกดำเนินการ

รหัสบรรทัด 12: ที่นี่เรากำลังเพิ่มตัวแปร num1 ด้วย 1

รหัสบรรทัด 13: เรากำลังหาร num1 ด้วย 0 และใส่ลงในตัวแปรใหม่ num2

รหัสบรรทัด 14: เนื่องจากเราต้องการทราบค่าของ num2 เราสามารถดึงข้อมูลได้โดยใช้คำสั่ง println เพื่อทราบจนถึงบรรทัดของโค้ดที่ถูกดำเนินการ

เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ต่อไปนี้:

การดีบัก JSP โดยใช้คำสั่ง println

Output:

ที่นี่เราได้รับข้อความว่า "นี่คือการดีบัก Guru JSP" ด้วยค่าของตัวแปร num1 ซึ่งเพิ่มขึ้นด้วยเหตุนี้ 11

การใช้ Java คนตัดไม้

  • เทศกาล Java เฟรมเวิร์กการบันทึกใช้สำหรับบริการบันทึกสำหรับคลาสใด ๆ ที่ทำงานอยู่ JVM.
  • ใช้เพื่อบันทึกข้อมูลใด ๆ จากโค้ด
  • จะบันทึกข้อมูลที่จำเป็นทั้งหมดเพื่อติดตามจุดบกพร่องที่เกิดขึ้น

ตัวอย่าง:

ในตัวอย่างนี้ เราใช้ Java logger เพื่อติดตามข้อมูลในโค้ด ข้อความสามารถแสดงได้โดยใช้ฟังก์ชันต่างๆ เช่น severe(), warning(), info(), config(), Fine()Info ใช้เพื่อแสดงข้อมูลในไฟล์บันทึก 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>

คำอธิบายของรหัส:

รหัสบรรทัด 2: เรากำลังนำเข้า Java Logger เพื่อบันทึกข้อมูล

รหัสบรรทัด 3: เรากำลังนำเข้าคลาส Date ของแพ็คเกจ util

รหัสบรรทัด 13: เรากำลังเริ่มต้นคลาสตัวบันทึกโดยใช้วิธี getLogger

รหัสบรรทัด 14: เรากำลังเริ่มต้นคลาสวันที่

รหัสบรรทัด 15: เรากำลังใช้วิธีการข้อมูลของวัตถุคลาสคนบันทึกเพื่อพิมพ์วันที่ปัจจุบัน

รหัสบรรทัด 16: เรากำลังใช้วิธีการข้อมูลเพื่อพิมพ์ 'นี่คือดีบักเกอร์ Guru Logging'

เมื่อคุณรันโค้ดข้างต้นคุณจะได้รับผลลัพธ์ดังต่อไปนี้

การใช้การดีบัก JSP Java คนตัดไม้

Output:

เราจะได้ผลลัพธ์ใน std.log ซึ่งจะจัดเก็บไว้ในโฟลเดอร์ Logging ในเซิร์ฟเวอร์ ที่นี่เราจะได้รับข้อมูลที่เขียนไว้ในโค้ด

การใช้เครื่องมือแก้ไขจุดบกพร่อง

เราใช้ Eclipse มาตั้งแต่เริ่มต้นบทช่วยสอน คราสเรามีเครื่องมือแก้ไขข้อบกพร่องเพื่อแก้ไขข้อผิดพลาดหรือข้อบกพร่องในโค้ด

วิธีการดีบัก JSP ใน Eclipse

ต่อไปนี้เป็นขั้นตอนในการดีบักแอปพลิเคชัน JSP Eclipse การใช้เครื่องมือแก้ไขข้อบกพร่อง:

  1. ตั้งค่าเบรกพอยต์
  2. รีสตาร์ทเซิร์ฟเวอร์ในโหมดดีบัก
  3. ดีบักผ่านเบรกพอยต์

ขั้นตอนที่ 1) ตั้งค่าเบรกพอยต์

เราสามารถตั้งค่าเบรกพอยต์ในโค้ด โดยที่เราต้องการติดตามโค้ด:

<%@ 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) ดีบักผ่านเบรกพอยต์

เราสามารถดีบักแอปพลิเคชันได้โดยคลิกที่แอปพลิเคชันเพื่อทำการดีบักดังนี้:

ดีบัก JSP ใน Eclipse

คุณจะได้รับการแจ้งเตือนให้เปลี่ยนมุมมอง จากนั้นคลิกปุ่ม "ใช่" หลังจากคลิกปุ่ม "ใช่" แล้ว เราจะได้รับมุมมองต่อไปนี้:

ดีบัก JSP ใน Eclipse

เราจะได้แท็บตัวแปร ซึ่งเราสามารถดูค่าของตัวแปรได้:

ดีบัก JSP ใน Eclipse

แท็บเบรกพอยต์แสดงจำนวนเบรกพอยต์ในโค้ด:

ดีบัก JSP ใน Eclipse

เราสามารถดีบักแอปพลิเคชันผ่านเบรกพอยต์ที่ได้ตั้งค่าไว้

สรุป

  • การดีบักใน JSP เป็นกระบวนการในการติดตามข้อผิดพลาดในแอปพลิเคชัน
  • เทคนิคการดีบัก JSP: การใช้ println คำสั่ง การใช้ Java Logger และการใช้เครื่องมือ Debugger
  • System.out.println() ใช้เพื่อติดตามว่ามีการดำเนินการส่วนใดหรือไม่
  • เทศกาล Java เฟรมเวิร์กการบันทึกใช้สำหรับบริการบันทึกสำหรับคลาสใดๆ ที่ทำงานอยู่ใน JVM
  • ใน Eclipse เรามีเครื่องมือดีบักเพื่อดีบักข้อผิดพลาดหรือจุดบกพร่องในโค้ด