การดีบัก 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 เพื่อทราบจนถึงบรรทัดของโค้ดที่ถูกดำเนินการ
เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ต่อไปนี้:
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'
เมื่อคุณรันโค้ดข้างต้นคุณจะได้รับผลลัพธ์ดังต่อไปนี้
Output:
เราจะได้ผลลัพธ์ใน std.log ซึ่งจะจัดเก็บไว้ในโฟลเดอร์ Logging ในเซิร์ฟเวอร์ ที่นี่เราจะได้รับข้อมูลที่เขียนไว้ในโค้ด
การใช้เครื่องมือแก้ไขจุดบกพร่อง
เราใช้ Eclipse มาตั้งแต่เริ่มต้นบทช่วยสอน คราสเรามีเครื่องมือแก้ไขข้อบกพร่องเพื่อแก้ไขข้อผิดพลาดหรือข้อบกพร่องในโค้ด
วิธีการดีบัก JSP ใน Eclipse
ต่อไปนี้เป็นขั้นตอนในการดีบักแอปพลิเคชัน JSP Eclipse การใช้เครื่องมือแก้ไขข้อบกพร่อง:
- ตั้งค่าเบรกพอยต์
- รีสตาร์ทเซิร์ฟเวอร์ในโหมดดีบัก
- ดีบักผ่านเบรกพอยต์
ขั้นตอนที่ 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) รีสตาร์ทเซิร์ฟเวอร์ในโหมดดีบัก
เราสามารถรีสตาร์ทเซิร์ฟเวอร์ในการดีบักได้โดยคลิกที่ฝั่งเซิร์ฟเวอร์และคลิกที่เริ่มต้นในโหมดแก้ไขข้อบกพร่อง
ขั้นตอนที่ 3) ดีบักผ่านเบรกพอยต์
เราสามารถดีบักแอปพลิเคชันได้โดยคลิกที่แอปพลิเคชันเพื่อทำการดีบักดังนี้:
คุณจะได้รับการแจ้งเตือนให้เปลี่ยนมุมมอง จากนั้นคลิกปุ่ม "ใช่" หลังจากคลิกปุ่ม "ใช่" แล้ว เราจะได้รับมุมมองต่อไปนี้:
เราจะได้แท็บตัวแปร ซึ่งเราสามารถดูค่าของตัวแปรได้:
แท็บเบรกพอยต์แสดงจำนวนเบรกพอยต์ในโค้ด:
เราสามารถดีบักแอปพลิเคชันผ่านเบรกพอยต์ที่ได้ตั้งค่าไว้
สรุป
- การดีบักใน JSP เป็นกระบวนการในการติดตามข้อผิดพลาดในแอปพลิเคชัน
- เทคนิคการดีบัก JSP: การใช้
println
คำสั่ง การใช้ Java Logger และการใช้เครื่องมือ Debugger System.out.println()
ใช้เพื่อติดตามว่ามีการดำเนินการส่วนใดหรือไม่- เทศกาล Java เฟรมเวิร์กการบันทึกใช้สำหรับบริการบันทึกสำหรับคลาสใดๆ ที่ทำงานอยู่ใน JVM
- ใน Eclipse เรามีเครื่องมือดีบักเพื่อดีบักข้อผิดพลาดหรือจุดบกพร่องในโค้ด