JSP इम्प्लिक्ट ऑब्जेक्ट क्या है?
- जेएसपी निहित वस्तुओं को जेएसपी के अनुवाद चरण के दौरान सर्वलेट में बनाया जाता है।
- इन ऑब्जेक्ट्स का उपयोग सीधे उन लिपियों में किया जा सकता है जो सेवा पद्धति में जाती हैं।
- वे कंटेनर द्वारा स्वचालित रूप से बनाए जाते हैं, और उन्हें ऑब्जेक्ट्स का उपयोग करके एक्सेस किया जा सकता है।
JSP में कितने निहित वस्तुएं उपलब्ध हैं?
कंटेनर में 9 प्रकार की निहित वस्तुएं उपलब्ध हैं:
- बाहर
- निवेदन
- प्रतिक्रिया
- कॉन्फ़िग
- आवेदन
- अधिवेशन
- पेज कॉन्टेक्स्ट
- पृष्ठ
- अपवाद
आओ हम एक एक करके अध्ययन करते हैं
बाहर
- बफ़र में डेटा लिखने और प्रतिक्रिया में क्लाइंट को आउटपुट भेजने के लिए अंतर्निहित वस्तुओं में से एक है
- आउट ऑब्जेक्ट हमें सर्वलेट के आउटपुट स्ट्रीम तक पहुंचने की अनुमति देता है
- आउट javax.servlet.jsp.jspWriter वर्ग की वस्तु है
- सर्वलेट के साथ काम करते समय, हमें प्रिंटराइटर ऑब्जेक्ट की आवश्यकता होती है
उदाहरण:
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> स्पष्ट गुरु JSP1 शीर्षक> head><शरीर><% int num1 = 10; int num2 = 20;out.println ("num1 is" + num1);out.println ("num2 is" + num2);%> शरीर> html>
कोड की व्याख्या:
कोड लाइन 11-12 - आउट का उपयोग आउटपुट स्ट्रीम में प्रिंट करने के लिए किया जाता है
जब हम उपरोक्त कोड निष्पादित करते हैं, तो हमें निम्न आउटपुट मिलते हैं:
आउटपुट:
- आउटपुट में, हमें num1 और num2 के मान मिलते हैं
निवेदन
- अनुरोध ऑब्जेक्ट java.servlet.http.HttpServletRequest का एक उदाहरण है और यह सेवा पद्धति के तर्क में से एक है
- यह हर अनुरोध के लिए कंटेनर द्वारा बनाया जाएगा।
- इसका उपयोग पैरामीटर, हेडर सूचना, सर्वर नाम, आदि जैसी सूचनाओं का अनुरोध करने के लिए किया जाएगा।
- यह अनुरोध पैरामीटर तक पहुँचने के लिए getParameter () का उपयोग करता है।
उदाहरण:
Implicit_jsp2.jsp (जिस से अनुरोध गुरु को भेजा जाता है। jsp)
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> लागू गुरु रूप JSP2 शीर्षक> head><शरीर><फॉर्म क्रिया = "गुरु.जाप्स"><इनपुट प्रकार = "टेक्स्ट" नाम = "उपयोगकर्ता नाम"><इनपुट प्रकार = "सबमिट" मूल्य = "सबमिट"> फार्म> शरीर> html>
गुरु। जेडएसपी (जहां कार्रवाई की जाती है)
कोड की व्याख्या:
कोड लाइन 10-13: implicit_jsp2.jsp (फ़ॉर्म) में अनुरोध भेजा जाता है, इसलिए चर उपयोगकर्ता नाम संसाधित किया जाता है और इसे गुरु को भेजा जाता है। Jsp जो JSP की कार्रवाई है।
गुरु। Jsp
कोड Line10-11: यह एक्शन jsp है जहाँ अनुरोध संसाधित होता है, और उपयोगकर्ता नाम jsp से लिया जाता है।
जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्न आउटपुट मिलते हैं
आउटपुट:
जब आप परीक्षण लिखते हैं और सबमिट बटन पर क्लिक करते हैं, तो आपको निम्न आउटपुट मिलता है "वेलकम टेस्ट।"
प्रतिक्रिया
- "रिस्पांस" क्लास का एक उदाहरण है जो HttpServletResponse इंटरफ़ेस को लागू करता है
- कंटेनर इस ऑब्जेक्ट को उत्पन्न करता है और पैरामीटर के रूप में _jspservice () विधि से गुजरता है
- "रिस्पांस ऑब्जेक्ट" प्रत्येक अनुरोध के लिए कंटेनर द्वारा बनाया जाएगा।
- यह उस प्रतिक्रिया का प्रतिनिधित्व करता है जो क्लाइंट को दी जा सकती है
- प्रतिक्रिया निहित वस्तु का उपयोग सामग्री प्रकार के लिए किया जाता है, कुकी जोड़ें और प्रतिक्रिया पृष्ठ पर पुनर्निर्देशित करें
उदाहरण:
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> निहित गुरु JSP4 शीर्षक> head><शरीर><% response.setContentType ("टेक्स्ट / html"); %> शरीर> html>
कोड की व्याख्या:
कोड लाइन 11: प्रतिक्रिया ऑब्जेक्ट में हम सामग्री प्रकार सेट कर सकते हैं
यहां हम प्रतिक्रिया ऑब्जेक्ट में केवल सामग्री प्रकार सेट कर रहे हैं। इसलिए, इसके लिए कोई आउटपुट नहीं है।
कॉन्फ़िग
- "कॉन्फ़िगर" java.servlet.servletConfig प्रकार का है
- यह प्रत्येक jsp पृष्ठ के लिए कंटेनर द्वारा बनाया गया है
- इसका उपयोग web.xml में इनिशियलाइज़ेशन पैरामीटर प्राप्त करने के लिए किया जाता है
उदाहरण:
Web.xml (सर्वलेट का नाम और मानचित्रण निर्दिष्ट करता है)
Implicit_jsp5.jsp (सर्वलेट नाम का मूल्य प्राप्त करना)
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> लागू गुरु JSP5 शीर्षक> head><शरीर><% स्ट्रिंग सर्वलेटनाम = config.getServletName ();out.println ("सर्वलेट नाम" + सर्वलेटनाम);%> है शरीर> html>
कोड की व्याख्या:
Web.xml में
कोड लाइन 14-17: web.xml में हमारे पास सर्वलेट्स की मैपिंग से लेकर कक्षाएं हैं।
Implicit_jsp5.jsp
कोड लाइन 10-11: जेएसपी में सर्वलेट का नाम प्राप्त करने के लिए, हम config.getServletName का उपयोग कर सकते हैं, जो हमें सर्वलेट का नाम प्राप्त करने में मदद करेगा।
जब आप उपरोक्त कोड निष्पादित करते हैं तो आपको निम्न आउटपुट मिलते हैं:
आउटपुट:
- सर्वलेट का नाम "GuruServlet" है क्योंकि यह नाम web.xml में मौजूद है
आवेदन
- एप्लिकेशन ऑब्जेक्ट (कोड लाइन 10) javax.servlet.ServletContext का एक उदाहरण है और इसका उपयोग JSP में संदर्भ जानकारी और विशेषताओं को प्राप्त करने के लिए किया जाता है।
- एप्लिकेशन ऑब्जेक्ट कंटेनर प्रति एक द्वारा बनाया जाता है, जब एप्लिकेशन तैनात हो जाता है।
- Servletcontext ऑब्जेक्ट में सर्वलेट कंटेनर के साथ सहभागिता करने के लिए उपयोग किए जाने वाले तरीकों का एक सेट होता है। हम सर्वलेट कंटेनर के बारे में जानकारी प्राप्त कर सकते हैं
उदाहरण:
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> गुरु इंप्लिमेंट JSP6 शीर्षक> head><शरीर><% application.getContextPath (); %> शरीर> html>
कोड की व्याख्या:
- उपरोक्त कोड में, एप्लिकेशन विशेषता जेएसपी पृष्ठ के संदर्भ पथ को प्राप्त करने में मदद करती है।
अधिवेशन
- सत्र "httpsession" ऑब्जेक्ट (कोड लाइन 10) धारण कर रहा है।
- सत्र गुंजाइश के लिए विशेषताओं को प्राप्त करने, सेट करने और निकालने के लिए सत्र ऑब्जेक्ट का उपयोग किया जाता है और सत्र जानकारी प्राप्त करने के लिए भी उपयोग किया जाता है
उदाहरण:
Implicit_jsp7 (विशेषता सेट है)
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> लागू किया गया JSP शीर्षक> head><शरीर><% session.setAttribute ("उपयोगकर्ता", "GuruJSP"); %> उपयोगकर्ता नाम पाने के लिए यहां क्लिक करें शरीर> html>
Implicit_jsp8.jsp (getAttribute)
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> निहित गुरु JSP8 शीर्षक> head><शरीर><% स्ट्रिंग नाम = (स्ट्रिंग) सेशन ।getAttribute ("उपयोगकर्ता");out.println ("उपयोगकर्ता नाम" + नाम है);%> शरीर> html>
कोड की व्याख्या:
Implicit_jsp7.jsp
कोड लाइन 11: हम सत्र चर में विशेषता उपयोगकर्ता को सेट कर रहे हैं, और उस मूल्य को सत्र से प्राप्त किया जा सकता है जिसे jsp से कहा जाता है (_jsp8.jsp)।
कोड लाइन 12: हम href पर एक और jsp कह रहे हैं जिसमें हम उस विशेषता उपयोगकर्ता के लिए मान प्राप्त करेंगे जो सेट है।
Implicit_jsp8.jsp
कोड लाइन 11: हम सत्र विशेषता से उपयोगकर्ता विशेषता का मूल्य प्राप्त कर रहे हैं और उस मूल्य को प्रदर्शित कर रहे हैं
जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्न आउटपुट मिलते हैं:
जब आप उपयोगकर्ता नाम के लिंक पर क्लिक करें। आपको निम्न आउटपुट मिलेगा।
आउटपुट:
- जब हम implicit_jsp7.jsp में दिए गए लिंक पर क्लिक करते हैं तो हम दूसरे jsp पृष्ठ पर पुनः निर्देशित होते हैं, (_jsp8.jsp) पृष्ठ और हमें उपयोगकर्ता विशेषता के सत्र ऑब्जेक्ट (_jsp7.jsp) से मान मिलता है।
पेज कॉन्टेक्स्ट:
- यह ऑब्जेक्ट पेजकनेक्ट के प्रकार का है।
- इसका उपयोग किसी विशेष दायरे से विशेषताओं को प्राप्त करने, सेट करने और निकालने के लिए किया जाता है
स्कोप 4 प्रकार के होते हैं:
- पृष्ठ
- निवेदन
- अधिवेशन
- आवेदन
उदाहरण:
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> स्पष्ट गुरु JSP9 शीर्षक> head><शरीर>%%स्ट्रिंग नाम = (स्ट्रिंग) पेजकॉन्टेक्स्ट.गेट एट्रिब्यूट ("छात्र");out.println ("छात्र का नाम" + नाम) है;%> शरीर> html>
कोड की व्याख्या:
कोड लाइन 11: हम पेज कॉंटेक्स्ट ऑब्जेक्ट का उपयोग करके विशेषता सेट कर रहे हैं, और इसके तीन पैरामीटर हैं:
- चाभी
- मूल्य
- क्षेत्र
उपरोक्त कोड में, कुंजी छात्र है और मान "गुरुस्तरीय" है जबकि पृष्ठ पृष्ठ स्कोप है। यहां स्कोप "पेज" है और यह केवल पेज स्कोप का उपयोग करके प्राप्त कर सकता है।
कोड लाइन 12: हमें पेज कॉंटेक्स का उपयोग करके विशेषता का मूल्य मिल रहा है
जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्न आउटपुट मिलते हैं:
आउटपुट:
- आउटपुट "छात्र का नाम गुरुस्तंभ" होगा।
पृष्ठ
- पृष्ठ निहित चर वर्तमान jsp के लिए वर्तमान में निष्पादित सर्वलेट ऑब्जेक्ट रखता है।
- वर्तमान jsp पृष्ठ के लिए इस वस्तु के रूप में कार्य करता है।
उदाहरण:
इस उदाहरण में, हम पेज ऑब्जेक्ट का उपयोग कर रहे हैं
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> लागू गुरु JSP10 शीर्षक> head><शरीर><% स्ट्रिंग पृष्ठनाम = पृष्ठ .toString ();out.println ("पेज का नाम" + पेजनाम);%> है शरीर> html>
कोड की व्याख्या:
कोड लाइन 10-11: इस उदाहरण में, हम पेज ऑब्जेक्ट के स्ट्रिंग () का उपयोग करने की कोशिश कर रहे हैं और theJSP पेज का स्ट्रिंग नाम प्राप्त करने का प्रयास कर रहे हैं।
जब आप कोड को निष्पादित करते हैं तो आपको निम्नलिखित आउटपुट मिलते हैं:
आउटपुट:
- आउटपुट ऊपर jsp पृष्ठ का स्ट्रिंग नाम है
अपवाद
- अपवाद फेंकने योग्य वर्ग की निहित वस्तु है।
- इसका उपयोग जेएसपी में अपवाद से निपटने के लिए किया जाता है।
- अपवाद ऑब्जेक्ट का उपयोग केवल त्रुटि पृष्ठों में किया जा सकता है।
उदाहरण:
<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1" isErorPage = "true"%> है<सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> लागू गुरु JSP 11 शीर्षक> head><शरीर><% int [] num1 = {1,2,3,4};out.println (संख्या 1 [5]);%><% = अपवाद%> शरीर> html>
कोड की व्याख्या:
कोड लाइन 10-12 - इसमें चार तत्वों के साथ संख्याओं की संख्या है, यानी, संख्या 1। आउटपुट में, हम सरणी के पांचवें तत्व को num1 से प्रिंट करने का प्रयास कर रहे हैं, जो कि सरणी सूची में घोषित नहीं है। तो इसका उपयोग jsp के अपवाद ऑब्जेक्ट को प्राप्त करने के लिए किया जाता है।
आउटपुट:
हम सरणी में ArrayIndexOfBoundsException प्राप्त कर रहे हैं जहां हमें पांचवें तत्व का एक संख्या 1 सरणी मिल रहा है।