การดีบัก JSP: วิธีการดีบัก JSP ใน Eclipse?
⚡ สรุปอย่างชาญฉลาด
การดีบักใน JSP คือกระบวนการของการ tracแก้ไขข้อผิดพลาดในแอปพลิเคชัน JSP แหล่งข้อมูลนี้อธิบายเทคนิคการดีบักสามวิธี ได้แก่ คำสั่ง println, Java เครื่องมือบันทึกข้อมูลและแก้ไขข้อผิดพลาด—และอธิบายขั้นตอนการแก้ไขข้อผิดพลาดของหน้า JSP Eclipse โดยใช้เบรกพอยต์และโหมดดีบัก

การดีบักใน 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 เพื่อตรวจสอบว่าโค้ดถูกประมวลผลไปถึงบรรทัดใดแล้ว
เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ต่อไปนี้:
Output:
ตรงนี้ เราได้รับข้อความว่า “นี่คือการดีบัก” Guru JSP” โดยมีค่าของตัวแปร num1 ซึ่งถูกเพิ่มขึ้น ดังนั้นจึงเป็น 11
การใช้ Java คนตัดไม้
- การขอ Java เฟรมเวิร์กการบันทึกข้อมูลใช้สำหรับบันทึกบริการสำหรับคลาสใดๆ ที่ทำงานอยู่ภายใน JVM.
- ใช้เพื่อบันทึกข้อมูลใด ๆ จากโค้ด
- ระบบจะบันทึกข้อมูลที่จำเป็นทั้งหมดลงใน... tracตรวจสอบข้อผิดพลาดที่เกิดขึ้น
ตัวอย่าง:
ในตัวอย่างนี้ เรากำลังใช้ Java เครื่องบันทึกข้อมูลไปยัง tracแสดงข้อมูลในโค้ด ข้อความสามารถแสดงได้โดยใช้ฟังก์ชันต่างๆ เช่น 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>
คำอธิบายของรหัส:
Code 2 แนว: เรากำลังนำเข้า Java โปรแกรมบันทึกข้อมูล (logger) จะบันทึกข้อมูลต่างๆ ลงไป
Code 3 แนว: เรากำลังนำเข้าคลาส Date จากแพ็กเกจ util
Code 13 แนว: เรากำลังเริ่มต้นใช้งานคลาส Logger โดยใช้เมธอด getLogger
Code 14 แนว: เรากำลังเริ่มต้นใช้งานคลาส Date
Code 15 แนว: เราใช้เมธอด info ของอ็อบเจ็กต์คลาส logger เพื่อแสดงวันที่ปัจจุบัน
Code 16 แนว: เราใช้เมธอด info เพื่อพิมพ์ 'นี่คือ' Guru 'ตัวดีบักเกอร์สำหรับการบันทึกข้อมูล'
เมื่อคุณรันโค้ดข้างต้น คุณจะได้รับผลลัพธ์ดังต่อไปนี้:
Output:
เราจะได้รับผลลัพธ์ในไฟล์ std.log ซึ่งจะถูกจัดเก็บไว้ในโฟลเดอร์ Logging บนเซิร์ฟเวอร์ ในไฟล์นี้เราจะได้รับข้อมูลที่เขียนไว้ในโค้ด
การใช้เครื่องมือแก้ไขจุดบกพร่อง
เราได้ใช้ Eclipse ตั้งแต่เริ่มต้นบทเรียน ใน Eclipseเรามีเครื่องมือแก้ไขข้อบกพร่องเพื่อแก้ไขข้อผิดพลาดหรือข้อบกพร่องในโค้ด
วิธีการดีบัก JSP ใน Eclipse
ต่อไปนี้เป็นขั้นตอนในการดีบักแอปพลิเคชัน JSP Eclipse การใช้เครื่องมือแก้ไขข้อบกพร่อง:
- ตั้งค่าจุดหยุด (Breakpoint)
- รีสตาร์ทเซิร์ฟเวอร์ในโหมดดีบัก
- แก้ไขข้อผิดพลาดโดยใช้เบรกพอยต์
ขั้นตอนที่ 1) ตั้งค่าเบรกพอยต์
เราสามารถตั้งจุดหยุดการทำงาน (breakpoint) ในโค้ด ณ จุดที่เราต้องการได้ 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) รีสตาร์ทเซิร์ฟเวอร์ในโหมดดีบัก
เราสามารถรีสตาร์ทเซิร์ฟเวอร์ในโหมดดีบักได้โดยคลิกที่ฝั่งเซิร์ฟเวอร์แล้วคลิกที่ "เริ่มในโหมดดีบัก"
ขั้นตอนที่ 3) ดีบักผ่านเบรกพอยต์
เราสามารถดีบักแอปพลิเคชันได้โดยคลิกที่แอปพลิเคชันแล้วเลือก "ดีบักในฐานะ" (Debug As):
คุณจะได้รับการแจ้งเตือนให้เปลี่ยนมุมมอง จากนั้นคลิกปุ่ม “ใช่” หลังจากคลิกปุ่ม “ใช่” แล้ว เราจะได้มุมมองดังต่อไปนี้:
เราจะเข้าสู่แท็บตัวแปร ซึ่งเราสามารถดูค่าของตัวแปรต่างๆ ได้:
แท็บ Breakpoints แสดงจำนวนเบรกพอยต์ในโค้ด:
เราสามารถดีบักแอปพลิเคชันได้โดยใช้เบรกพอยต์ที่ตั้งไว้







