บทช่วยสอน JSP การแก้จุดบกพร่อง ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ ใช้ System.out.println (),ใช้ JDB Logger,แก้จุดบกพร่องเครื่องมือ,ใช้ JDB ดีบักเกอร์,ใช้ความคิดเห็น,หัวของไคลเอ็นต์และเซิร์ฟเวอร์โมดูล,เทคนิคการแก้จุดบกพร่องที่สำคัญ,
เพื่อทดสอบ / การแก้ปัญหา JSP หรือโปรแกรมเซิร์ฟเล็ตเป็นเรื่องยากเสมอดังนั้น JSP และ Servlets ขั้นตอนการมีแนวโน้มที่จะเกี่ยวข้องกับการทำงานร่วมกันระหว่างจำนวนมากของลูกค้า / เซิร์ฟเวอร์ซึ่งเป็นแนวโน้มที่จะสร้างข้อผิดพลาดและมันเป็นเรื่องยากที่จะทำให้เกิดสภาพแวดล้อมที่มีข้อผิดพลาด
ถัดไปจะได้รับเคล็ดลับและเคล็ดลับที่จะช่วยให้คุณแก้ปัญหาโปรแกรมของคุณ
System.out.println () สามารถธงเป็นชิ้นส่วนของรหัสจะถูกดำเนินการ แน่นอนเรายังสามารถพิมพ์ออกมามีความหลากหลายของค่า นอกจากนี้:
ถัดไปได้รับ System.out.println ไวยากรณ์ () เป็น:
System.out.println("Debugging message");
นี่คือตัวอย่างง่ายๆของการใช้ระบบออก () เป็น:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head><title>System.out.println</title></head> <body> <c:forEach var="counter" begin="1" end="10" step="1" > <c:out value="${counter-5}"/></br> <% System.out.println( "counter= " + pageContext.findAttribute("counter") ); %> </c:forEach> </body> </html>
ตอนนี้ถ้าคุณเรียกใช้ตัวอย่างข้างต้นแล้วมันจะก่อให้เกิดผลต่อไปนี้:
-4 -3 -2 -1 0 1 2 3 4 5
หากคุณกำลังใช้เซิร์ฟเวอร์ Tomcat คุณจะสามารถที่จะหาข้อมูลเพิ่มเติมต่อไปนี้ในแฟ้ม stdout.log ไดเรกทอรีล็อกใต้:
counter=1 counter=2 counter=3 counter=4 counter=5 counter=6 counter=7 counter=8 counter=9 counter=10
โดยใช้วิธีการของตัวแปรและข้อมูลอื่น ๆ นี้จะสามารถส่งออกไปยังระบบเข้าสู่ระบบในการวิเคราะห์ปัญหาและหาสาเหตุของเหตุผลที่ฝังลึกที่
กรอบ J2SE การเข้าสู่ระบบเข้าสู่ระบบให้บริการสำหรับการเรียนใด ๆ ที่ทำงานใน JVM ดังนั้นเราจึงสามารถใช้กรอบนี้เพื่อบันทึกข้อมูลใด ๆ
ลองเขียนโค้ดข้างต้นใช้ Logger API JDK:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@page import="java.util.logging.Logger" %> <html> <head><title>Logger.info</title></head> <body> <% Logger logger=Logger.getLogger(this.getClass().getName());%> <c:forEach var="counter" begin="1" end="10" step="1" > <c:set var="myCount" value="${counter-5}" /> <c:out value="${myCount}"/></br> <% String message = "counter=" + pageContext.findAttribute("counter") + " myCount=" + pageContext.findAttribute("myCount"); logger.info( message ); %> </c:forEach> </body> </html>
มันคล้ายกับผลของการก่อนหน้านี้ แต่ก็จะได้รับข้อมูลเพิ่มเติมไปยังแฟ้ม stdout.log ที่นี่เราใช้วิธีการตัดไม้ข้อมูล ด้านล่างเราจะให้ไฟล์ภาพรวม stdout.log:
24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=1 myCount=-4 24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=2 myCount=-3 24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=3 myCount=-2 24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=4 myCount=-1 24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=5 myCount=0 24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=6 myCount=1 24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=7 myCount=2 24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=8 myCount=3 24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=9 myCount=4 24-Sep-2013 23:31:31 org.apache.jsp.main_jsp _jspService INFO: counter=10 myCount=5
สามารถส่งโดยใช้ความหลากหลายของการจัดลำดับความสำคัญโดยใช้ตัด () เตือน () ข้อมูล () การตั้งค่า () ดี () ปลีกย่อย () ที่ดีที่สุด () วิธีการ ที่ดีที่สุด () วิธีการใช้ในการบันทึกข้อมูลที่ดีที่สุดและตัด () วิธีการใช้ในการบันทึกข้อมูลที่ร้ายแรงที่สุด
ใช้กรอบ Log4J บันทึกข้อความในไฟล์ที่แตกต่างกันข้อความเหล่านี้ขึ้นอยู่กับความรุนแรงและความสำคัญในการจำแนก
NetBeans เป็นโครงสร้างต้นไม้มาเปิด Java สภาพแวดล้อมการพัฒนาแบบบูรณาการสนับสนุนการพัฒนาของสแตนด์อะโลนโปรแกรม Java และการใช้งานเครือข่าย แต่ยังสนับสนุน JSP แก้จุดบกพร่อง
NetBeans สนับสนุนต่อไปไม่กี่คุณสมบัติการแก้จุดบกพร่องพื้นฐาน
ข้อมูลรายละเอียดสามารถดูคู่มือ NetBeans
คุณสามารถใช้คำสั่ง JDB ใน JSP และ Servlets ในการแก้จุดบกพร่องเช่นเดียวกับการแก้ปัญหาเป็นโปรแกรมปกติ
ปกติเราแก้จุดบกพร่องตรงวัตถุ sun.servlet.http.HttpServer เพื่อดูสถานการณ์ HTTPServer การดำเนินงานของ JSP / Servlets ในการตอบสนองต่อการร้องขอ HTTP นี้จะคล้ายกับแอปเพล็แก้จุดบกพร่อง ความแตกต่างก็คือว่า applets โปรแกรมการแก้ไขข้อบกพร่องที่เกิดขึ้นจริงเป็น sun.applet.AppletViewer
ที่สุดของการดีบักเมื่อแอปเพล็แก้จุดบกพร่องโดยอัตโนมัติสามารถละเลยรายละเอียดบางอย่างเพราะมันรู้วิธีที่จะแก้ปัญหา applets หากคุณต้องการที่จะแก้ปัญหาวัตถุ JSP โอนให้กับร่างกายคุณจะต้องทำสองสิ่ง:
ชุด classpath มันก็เริ่มว่าจ้าง sun.servlet.http.Http เซิร์ฟเวอร์ คุณสามารถตั้งจุดพักในไฟล์ JSP ใดก็ได้ตราบใดที่คุณชอบแล้วใช้เบราว์เซอร์ส่งคำขอไปยังเซิร์ฟเวอร์ควรจะสามารถดูโปรแกรมหยุดที่จุดพัก
คำอธิบายประกอบโปรแกรมดีบักมีบทบาทที่เป็นประโยชน์ในหลาย ๆ ด้าน ความคิดเห็นสามารถนำมาใช้ในหลาย ๆ วิธีในการดีบัก
JSP ใช้คำอธิบายประกอบ Java หากข้อผิดพลาดที่หายไปควรตรวจสอบความคิดเห็นที่คุณได้เพียงแค่มีรหัสมักจะสามารถหาเหตุผลว่าทำไม
บางครั้งเมื่อ JSP ที่ไม่ได้ทำงานในลักษณะที่กำหนดไว้เมื่อดูการร้องขอ HTTP ดิบและการตอบสนองยังมีประโยชน์ หากโครงสร้างเป็นอย่างมากคุ้นเคยกับ HTTP คุณโดยตรงสามารถสังเกตเห็นการร้องขอและการตอบสนองส่วนหัวและเห็นว่าโมดูลในที่สุด
ที่นี่เราจะเผยให้เห็นอีกครั้งสอง JSP เคล็ดลับการแก้จุดบกพร่อง: