जेएसपी डिबगिंग: जेएसपी को कैसे डिबग करें Eclipse?
JSP में डिबगिंग क्या है?
JSP में डिबगिंग, एप्लीकेशन में त्रुटि का पता लगाने की प्रक्रिया है। एप्लीकेशन में बग और त्रुटि का पता लगाना बहुत आसान नहीं है। JSP एप्लीकेशन क्लाइंट इंटरएक्टिव होते हैं। इसलिए, त्रुटियों को पुन: उत्पन्न करना मुश्किल होता है।
JSP डिबगिंग तकनीकें
तीन अलग-अलग तकनीकें हैं जिनके माध्यम से हम 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 कथनों का उपयोग करके प्रिंट कर रहे हैं कि “यह गुरु JSP को डीबग कर रहा है” यह डीबग करने के लिए कि कोड की कौन सी पंक्ति निष्पादित की गई है
कोड लाइन 12: यहां हम चर num1 को 1 से बढ़ा रहे हैं।
कोड लाइन 13: हम num1 को 0 से विभाजित कर रहे हैं और एक नए चर num2 में डाल रहे हैं।
कोड लाइन 14: चूंकि हम num2 का मान जानना चाहते हैं, इसलिए हम println कथन का उपयोग करके यह जान सकते हैं कि कोड की कौन सी पंक्ति तक निष्पादन हुआ है।
जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्नलिखित आउटपुट मिलता है:
आउटपुट:
यहाँ, हमें कथन "यह गुरु जेएसपी को डीबग कर रहा है" मिल रहा है, जिसमें चर num1 का मान बढ़ा दिया गया है, अतः यह 11 है।
का प्रयोग Java लकड़हारा
- RSI Java लॉगिंग फ्रेमवर्क का उपयोग किसी भी क्लास के लिए लॉगिंग सेवाओं के लिए किया जाता है JVM.
- इसका उपयोग कोड से किसी भी जानकारी को लॉग करने के लिए किया जाता है।
- यह उत्पन्न हुए बगों का पता लगाने के लिए सभी आवश्यक जानकारी लॉग करता है।
उदाहरण:
इस उदाहरण में, हम कोड में जानकारी का पता लगाने के लिए जावा लॉगर का उपयोग कर रहे हैं। संदेशों को विभिन्न फ़ंक्शन का उपयोग करके दिखाया जा सकता है जैसे 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: हम जानकारी लॉग करने के लिए जावा लॉगर आयात कर रहे हैं।
कोड लाइन 3: हम util पैकेज के Date वर्ग को आयात कर रहे हैं
कोड लाइन 13: हम getLogger विधि का उपयोग करके logger वर्ग को आरंभीकृत कर रहे हैं।
कोड लाइन 14: हम दिनांक वर्ग को आरंभीकृत कर रहे हैं।
कोड लाइन 15: हम वर्तमान दिनांक को प्रिंट करने के लिए लॉगर क्लास ऑब्जेक्ट की info विधि का उपयोग कर रहे हैं।
कोड लाइन 16: हम 'यह गुरु लॉगिंग डिबगर है' प्रिंट करने के लिए info विधि का उपयोग कर रहे हैं।
जब आप उपरोक्त कोड निष्पादित करेंगे, तो आपको निम्नलिखित आउटपुट मिलेगा
आउटपुट:
हमें std.log में आउटपुट मिलेगा, जो सर्वर में Logging फ़ोल्डर में स्टोर होगा। यहाँ हमें वह जानकारी मिलेगी जो कोड में लिखी गई है।
डिबगिंग टूल्स का उपयोग करना
हम ट्यूटोरियल की शुरुआत से ही एक्लिप्स का उपयोग कर रहे हैं। ग्रहणहमारे पास कोड में त्रुटियों या बगों को डीबग करने के लिए डीबगिंग उपकरण हैं।
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 डिबगिंग तकनीक: का उपयोग करना
println
कथनों का उपयोग करना Java लॉगर, और डीबगर टूल का उपयोग करना System.out.println()
इसका उपयोग यह पता लगाने के लिए किया जाता है कि कोई निश्चित भाग निष्पादित हुआ है या नहीं।- RSI Java लॉगिंग फ्रेमवर्क का उपयोग JVM में चलने वाले किसी भी वर्ग के लिए सेवाओं को लॉग करने के लिए किया जाता है।
- एक्लिप्स में, हमारे पास कोड में त्रुटियों या बग्स को डीबग करने के लिए डीबगिंग टूल हैं।