जेएसपी डिबगिंग: जेएसपी को कैसे डिबग करें Eclipse?

⚡ स्मार्ट सारांश

JSP में डिबगिंग एक ऐसी प्रक्रिया है जिसमें... tracJSP एप्लिकेशन में त्रुटियों को ठीक करना। यह संसाधन तीन डिबगिंग तकनीकों की व्याख्या करता है—println स्टेटमेंट, Java लॉगर और डीबगर टूल—और जेएसपी पेज को डीबग करने का तरीका विस्तार से बताया गया है। Eclipse ब्रेकपॉइंट और डिबग मोड का उपयोग करना।

  • 🐞 परिभाषा: डीबगिंग tracये ऐसी त्रुटियां हैं जिन्हें क्लाइंट-इंटरैक्टिव जेएसपी अनुप्रयोगों में दोहराना मुश्किल है।
  • 🖨️ प्रिंटलाइन: System.out.println() कोड की कौन सी लाइनें निष्पादित हुईं, इसकी पुष्टि करने के लिए वेरिएबल के मान प्रिंट करता है।
  • 📝 Java लकड़हारा: लॉगिंग फ्रेमवर्क लॉग फाइलों में सूचना और गंभीर जैसे स्तरित संदेशों को रिकॉर्ड करता है।
  • 🔧 डीबगर उपकरण: Eclipse यह रनटाइम स्थिति का निरीक्षण करने के लिए ब्रेकपॉइंट और वैरिएबल व्यू प्रदान करता है।
  • ▶ ️ Eclipse चरण: ब्रेकप्वाइंट सेट करें, सर्वर को डीबग मोड में रीस्टार्ट करें, फिर कोड को स्टेप-बाय-स्टेप चलाएं।

जेएसपी डिबगिंग

JSP में डिबगिंग क्या है?

JSP में डिबगिंग एक ऐसी प्रक्रिया है जिसमें... tracएप्लिकेशन में त्रुटि को ठीक करना। यह बहुत आसान नहीं है। tracएप्लिकेशन में मौजूद बग और त्रुटियां। JSP एप्लिकेशन क्लाइंट-इंटरैक्टिव होते हैं। इसलिए, त्रुटियों को दोबारा उत्पन्न करना कठिन होता है।

JSP डिबगिंग तकनीकें

तीन अलग-अलग तकनीकें हैं जिनके माध्यम से हम 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 स्टेटमेंट का उपयोग करके यह पता लगा सकते हैं कि कोड की किस पंक्ति तक निष्पादित हो चुका है।

जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्नलिखित आउटपुट मिलता है:

Println कथनों का उपयोग करके JSP डिबगिंग

आउटपुट:

यहां हमें "यह डिबगिंग है" का कथन मिल रहा है। Guru वेरिएबल num1 का मान बढ़ाकर 11 कर दिया गया है, जिसे "JSP" कहा जाता है।

का प्रयोग Java लकड़हारा

  • RSI 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 जानकारी को लॉग करने के लिए लॉगर।

Code रेखा 3: हम यूटिल पैकेज की डेट क्लास को इम्पोर्ट कर रहे हैं।

Code रेखा 13: हम getLogger मेथड का उपयोग करके लॉगर क्लास को इनिशियलाइज़ कर रहे हैं।

Code रेखा 14: हम डेट क्लास को इनिशियलाइज़ कर रहे हैं।

Code रेखा 15: हम लॉगर क्लास ऑब्जेक्ट के इन्फो मेथड का उपयोग करके वर्तमान तिथि को प्रिंट कर रहे हैं।

Code रेखा 16: हम 'यह है' प्रिंट करने के लिए info विधि का उपयोग कर रहे हैं। Guru लॉगिंग डीबगर'।

उपरोक्त कोड को चलाने पर आपको निम्नलिखित आउटपुट प्राप्त होगा:

JSP डिबगिंग का उपयोग करना Java लकड़हारा

आउटपुट:

हमें आउटपुट std.log में मिलेगा, जो सर्वर पर मौजूद लॉगिंग फोल्डर में स्टोर होगा। यहां हमें कोड में लिखी गई जानकारी मिलेगी।

डिबगिंग टूल्स का उपयोग करना

हम उपयोग करते रहे हैं Eclipse ट्यूटोरियल की शुरुआत से ही। Eclipseहमारे पास कोड में त्रुटियों या बगों को डीबग करने के लिए डीबगिंग उपकरण हैं।

JSP को डीबग कैसे करें? Eclipse

JSP एप्लिकेशन को डीबग करने के चरण यहां दिए गए हैं Eclipse डिबगिंग टूल का उपयोग करना:

  1. ब्रेकपॉइंट सेट करें।
  2. सर्वर को डीबगिंग मोड में रीस्टार्ट करें।
  3. ब्रेकपॉइंट्स के माध्यम से डिबग करें।

चरण 1) ब्रेकपॉइंट सेट करें

हम कोड में ब्रेकपॉइंट सेट कर सकते हैं, जहाँ हम चाहते हैं। 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) सर्वर को डिबगिंग मोड में पुनः आरंभ करें

हम सर्वर साइड पर क्लिक करके और फिर "स्टार्ट इन डीबग मोड" पर क्लिक करके सर्वर को डीबगिंग मोड में रीस्टार्ट कर सकते हैं।

JSP को डीबग करें Eclipse

चरण 3) ब्रेकपॉइंट के माध्यम से डीबग करें

हम एप्लिकेशन पर क्लिक करके उसे डीबग कर सकते हैं:

JSP को डीबग करें Eclipse

आपको परिप्रेक्ष्य बदलने के लिए एक अलर्ट मिलेगा; फिर "हाँ" बटन पर क्लिक करें। "हाँ" बटन पर क्लिक करने के बाद, हमें निम्नलिखित परिप्रेक्ष्य प्राप्त होगा:

JSP को डीबग करें Eclipse

हमें वेरिएबल्स टैब मिलेगा, जहां हम वेरिएबल्स के मान देख सकते हैं:

JSP को डीबग करें Eclipse

ब्रेकपॉइंट्स टैब कोड में ब्रेकपॉइंट्स की संख्या दिखाता है:

JSP को डीबग करें Eclipse

हम निर्धारित ब्रेकपॉइंट्स के माध्यम से एप्लिकेशन को डीबग कर सकते हैं।

अक्सर पूछे जाने वाले प्रश्न

हां। एआई सहायक स्टैक का विश्लेषण कर सकते हैं। tracयह JSP और सर्वलेट कोड में नल पॉइंटर या डिवीज़न त्रुटियों का पता लगाता है और सुधार सुझाता है। इससे डिबगिंग में तेज़ी आती है, लेकिन आपको पेज चलाकर सुधार की पुष्टि करनी चाहिए।

नहीं। एआई संभावित कारणों का सुझाव देता है, लेकिन चरणping ब्रेकपॉइंट के माध्यम से Eclipse फिर भी यह रनटाइम वेरिएबल के सटीक मान देता है जो वास्तविक समस्या की पुष्टि करते हैं। दोनों दृष्टिकोण एक साथ मिलकर सबसे अच्छा काम करते हैं।

println सीधे कंसोल पर प्रिंट करता है और बड़े पैमाने पर इसे प्रबंधित करना कठिन है। एक लॉगर स्तरित संदेशों, जैसे कि जानकारी या गंभीर, को लॉग फ़ाइलों में रिकॉर्ड करता है जिन्हें बाद में फ़िल्टर किया जा सकता है, सहेजा जा सकता है और विश्लेषण किया जा सकता है।

500 त्रुटि आमतौर पर JSP में अनहैंडल्ड एक्सेप्शन, जैसे कि NullPointerException या शून्य से भाग देने के कारण होती है। इसका सटीक कारण सर्वर लॉग और स्टैक में दिखाया गया है। trace.

इस पोस्ट को संक्षेप में इस प्रकार लिखें: