जेएसपी के निर्देश: पेज, शामिल करें & टैगलिब ट्यूटोरियल

विषय - सूची:

Anonim

JSP के निर्देश क्या हैं?

  • JSP के निर्देश JSP कंटेनर के संदेश हैं। वे संपूर्ण JSP पृष्ठ के बारे में वैश्विक जानकारी प्रदान करते हैं।
  • जेएसपी निर्देशों का उपयोग जेएसपी के सर्वलेट कोड के अनुवाद के लिए एक कंटेनर को विशेष निर्देश देने के लिए किया जाता है।
  • JSP जीवन चक्र चरण में, JSP को एक सर्वलेट में बदलना होगा जो कि अनुवाद चरण है।
  • वे कंटेनर को जेएसपी प्रसंस्करण के कुछ पहलुओं को संभालने के निर्देश देते हैं
  • कोमा द्वारा मुख्य-मूल्य जोड़े के रूप में अलग किए गए निर्देशों में कई विशेषताएं हो सकती हैं।
  • JSP में, निर्देश <% @%> टैग में वर्णित है।

निर्देश का सिंटैक्स:

<%@ directive attribute %>

तीन प्रकार के निर्देश हैं:

  1. पृष्ठ निर्देश
  2. निर्देश शामिल करें
  3. टैगलिब निर्देशन

उनमें से प्रत्येक को उदाहरण के साथ नीचे विस्तार से वर्णित किया गया है:

इस ट्यूटोरियल में, आप सीखेंगे -

  • JSP पेज निर्देश
  • JSP निर्देश शामिल करें
  • जेएसपी टैगलिब डायरेक्टिव

JSP पेज निर्देश

पृष्ठ निर्देश का सिंटैक्स:

<%@ page… %>
  • यह उन विशेषताओं को प्रदान करता है जो पूरे JSP पेज पर लागू होती हैं।
  • यह पृष्ठ निर्भर विशेषताओं को परिभाषित करता है, जैसे कि स्क्रिप्टिंग भाषा, त्रुटि पृष्ठ और बफरिंग आवश्यकताएं।
  • इसका उपयोग एक कंटेनर को निर्देश प्रदान करने के लिए किया जाता है जो वर्तमान जेएसपी पृष्ठ से संबंधित है।

पृष्ठ निर्देश के साथ जुड़ी विशेषताओं की सूची निम्नलिखित हैं:

  1. भाषा: हिन्दी
  2. का विस्तार
  3. आयात
  4. सामग्री प्रकार
  5. जानकारी
  6. अधिवेशन
  7. isTreadSafe
  8. ऑटोफ्लश
  9. बफर
  10. IsErorPage
  11. pageEncoding
  12. errorPage
  13. सम्‍मिलित है

प्रत्येक विशेषता के बारे में अधिक जानकारी

  1. भाषा : यह पृष्ठ में उपयोग की जा रही प्रोग्रामिंग भाषा (अंतर्निहित भाषा) को परिभाषित करता है।

    भाषा का सिंटेक्स:

    <%@ page language="value" %>

    यहाँ मूल्य प्रोग्रामिंग भाषा (अंतर्निहित भाषा) है

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

कोड की व्याख्या: उपरोक्त उदाहरण में, विशेषता भाषा मूल्य जावा है जो इस मामले में अंतर्निहित भाषा है। इसलिए, जावा कंपाइलर का उपयोग करके कोड को अभिव्यक्ति टैग में संकलित किया जाएगा।

  1. विस्तार : इस विशेषता का उपयोग JAVA की तरह वर्ग (विरासत) का विस्तार करने के लिए किया जाता है

सिंटैक्स का विस्तार:

<%@ page extends="value" %>

यहाँ मान उस वर्ग का प्रतिनिधित्व करता है जहाँ से उसे विरासत में प्राप्त करना है।

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>

कोड की व्याख्या: उपरोक्त कोड में जेएसपी डेमोक्लास का विस्तार कर रहा है जो कि डेमोस्टेस्ट पैकेज के भीतर है, और यह सभी वर्ग सुविधाओं का विस्तार करेगा।

  1. आयात : यह विशेषता पेज डायरेक्टिव एट्रीब्यूट्स में सबसे अधिक उपयोग की जाने वाली विशेषता है। यह सर्विस कोड को जेनरेट करते समय कंटेनर को अन्य जावा क्लासेस, इंटरफेस, एनम आदि को इम्पोर्ट करने के लिए उपयोग किया जाता है। यह जावा क्लासेस, इंटरफेस में स्टेटमेंट आयात करने के समान है।

आयात का सिंटैक्स :

<%@ page import="value" %>

यहां मूल्य उन वर्गों को इंगित करता है जिन्हें आयात किया जाना है।

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>

कोड की व्याख्या:

उपरोक्त कोड में, हम java.util पैकेज (सभी उपयोगिता वर्ग) से दिनांक वर्ग आयात कर रहे हैं, और यह निम्न वर्ग के सभी तरीकों का उपयोग कर सकता है।

  1. सामग्री प्रकार :
  • यह वर्ण एन्कोडिंग योजना को परिभाषित करता है अर्थात इसका उपयोग सामग्री प्रकार और प्रतिक्रिया के वर्ण सेट को सेट करने के लिए किया जाता है
  • डिफ़ॉल्ट प्रकार की सामग्री टाइप "टेक्स्ट / html; चारसेट = आईएसओ-8859-1" है।

सामग्री का सिंटैक्स टाइप:

<%@ page contentType="value" %>

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

कोड की व्याख्या:

उपरोक्त कोड में, सामग्री प्रकार को टेक्स्ट / html के रूप में सेट किया गया है, यह JSP के लिए वर्ण एन्कोडिंग और उत्पन्न प्रतिक्रिया पृष्ठ के लिए सेट करता है।

  1. जानकारी
  • यह एक स्ट्रिंग को परिभाषित करता है जिसे getServletInfo () विधि द्वारा एक्सेस किया जा सकता है।
  • इस विशेषता का उपयोग सर्वलेट विवरण सेट करने के लिए किया जाता है।

जानकारी का सिंटैक्स:

<%@ page info="value" %>

यहां, मान सर्वलेट सूचना का प्रतिनिधित्व करता है।

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>

कोड की व्याख्या:

उपरोक्त कोड में, स्ट्रिंग "गुरू डायरेक्टिव JSP" को getServletInfo का उपयोग करके सर्वलेट इंटरफेस द्वारा प्राप्त किया जा सकता है)

  1. अधिवेशन
  • JSP पेज डिफ़ॉल्ट रूप से सत्र बनाता है।
  • कभी-कभी हमें JSP में एक सत्र बनाने की आवश्यकता नहीं होती है, और इसलिए, हम इस विशेषता को उस स्थिति में गलत पर सेट कर सकते हैं। सत्र विशेषता का डिफ़ॉल्ट मान सत्य है, और सत्र बनाया जाता है।

    जब इसे गलत पर सेट किया जाता है, तो हम संकलक को डिफ़ॉल्ट रूप से सत्र नहीं बनाने का संकेत दे सकते हैं।

सत्र का सिंटैक्स:

<%@ page session="true/false"%>

यहां इस मामले में सत्र विशेषता को सही या गलत पर सेट किया जा सकता है

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>

कोड की व्याख्या:

उपरोक्त उदाहरण में, सत्र विशेषता "गलत" पर सेट है, इसलिए हम संकेत दे रहे हैं कि हम इस एमएसपी में कोई भी सत्र नहीं बनाना चाहते हैं

  1. isTreadSafe:
  • यह उत्पन्न सर्वलेट के लिए थ्रेडिंग मॉडल को परिभाषित करता है।
  • यह पृष्ठ में लागू थ्रेड सुरक्षा के स्तर को इंगित करता है।
  • इसका डिफ़ॉल्ट मान एक साथ सत्य है
  • हम जेनरेट किए गए सर्वलेट में SingleThreadModel इंटरफ़ेस को लागू करने के लिए इस विशेषता का उपयोग कर सकते हैं।
  • यदि हम इसे गलत पर सेट करते हैं, तो यह SingleThreadModel को लागू करेगा और किसी भी साझा किए गए ऑब्जेक्ट तक पहुंच सकता है और असंगति उत्पन्न कर सकता है।

IsTreadSafe का सिंटैक्स:

<% @ page isThreadSafe="true/false" %>

यहाँ सही या गलत का प्रतिनिधित्व करता है अगर सिंक्रोनाइज़ेशन है तो सच के रूप में सेट करें और इसे झूठ के रूप में सेट करें।

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>

कोड की व्याख्या:

उपरोक्त कोड में, isTreadSafe को "सही" पर सेट किया गया है, इसलिए सिंक्रनाइज़ेशन किया जाएगा, और कई थ्रेड्स का उपयोग किया जा सकता है।

  1. स्वतः भरण:

यह विशेषता निर्दिष्ट करती है कि बफ़र्ड आउटपुट को स्वचालित रूप से फ्लश किया जाना चाहिए या नहीं और उस विशेषता का डिफ़ॉल्ट मान सत्य है।

यदि मान को झूठा करने के लिए सेट किया गया है, तो बफ़र स्वचालित रूप से फ्लश नहीं किया जाएगा और यदि यह पूर्ण है, तो हमें एक अपवाद मिलेगा।

जब बफ़र कोई नहीं होता है तो झूठा नाजायज है, और कोई बफरिंग नहीं है, इसलिए इसे स्वचालित रूप से फ्लश किया जाएगा।

ऑटोफ्लश का सिंटैक्स:

<% @ page autoFlush="true/false" %>

यहां सही / गलत यह दर्शाता है कि बफरिंग करनी है या नहीं

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>

कोड की व्याख्या:

उपरोक्त कोड में, ऑटोफ्लश को गलत पर सेट किया गया है और इसलिए बफरिंग नहीं की जाएगी और इसने आउटपुट को मैन्युअल रूप से फ्लश किया है।

  1. बफर:
  • इस विशेषता के उपयोग से आउटपुट रेस्पॉन्स ऑब्जेक्ट बफ़र्ड हो सकता है।
  • हम इस विशेषता का उपयोग करके किए जाने वाले बफ़रिंग के आकार को परिभाषित कर सकते हैं और डिफ़ॉल्ट आकार 8KB है।
  • यह सर्वलेट को निर्देश ऑब्जेक्ट पर लिखने से पहले बफर को लिखने के लिए निर्देशित करता है।

बफर का सिंटैक्स:

<%@ page buffer="value" %>

यहां मान बफर के आकार का प्रतिनिधित्व करता है जिसे परिभाषित किया जाना है। यदि कोई बफर नहीं है, तो हम कोई भी नहीं लिख सकते हैं, और यदि हम किसी भी मूल्य का उल्लेख नहीं करते हैं, तो डिफ़ॉल्ट 8KB है

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>

कोड की व्याख्या:

उपरोक्त कोड में, बफर आकार 16KB के रूप में उल्लिखित है, जिसमें बफर उस आकार का होगा

  1. isErorPage:
  • यह इंगित करता है कि JSP पृष्ठ जिसमें एक त्रुटि है, दूसरे JSP पृष्ठ में जाँच की जाएगी
  • किसी भी JSP फ़ाइल को "EErrorPage" के साथ घोषित किया गया है, तब अन्य JSP पृष्ठों से अपवाद प्राप्त करने में सक्षम है, जिसमें त्रुटि पृष्ठ हैं।
  • अपवाद केवल इन पृष्ठों पर उपलब्ध हैं।
  • मूल मूल्य गलत है।

IsErrorPage का सिंटैक्स:

<%@ page isErrorPage="true/false"%>

उदाहरण:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>

कोड की व्याख्या:

उपरोक्त कोड में, isErorPage सच के रूप में सेट है। इसलिए, यह जाँच करेगा कि किसी अन्य JSPs में त्रुटि है।

  1. पेज कोडिंग:
"PageEncoding" विशेषता JSP पृष्ठ के लिए वर्ण एन्कोडिंग को परिभाषित करती है।

यदि कोई अन्य निर्दिष्ट नहीं है, तो डिफ़ॉल्ट को "ISO-8859-1" के रूप में निर्दिष्ट किया गया है।

पृष्ठसंकेत का सिंटैक्स:

<%@ page pageEncoding="vaue" %>

यहां मान JSP के लिए चारसेट मान निर्दिष्ट करता है

उदाहरण:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>

कोड की व्याख्या:

उपरोक्त कोड में "pageEncoding" को डिफ़ॉल्ट चारसेट ISO-8859-1 पर सेट किया गया है

  1. त्रुटि पेज:
JSP पृष्ठ के लिए त्रुटि पृष्ठ सेट करने के लिए इस विशेषता का उपयोग किया जाता है यदि JSP एक अपवाद फेंकता है और फिर यह अपवाद पृष्ठ पर पुनर्निर्देशित करता है।

त्रुटि के सिंटैक्सपेज:

<%@ page errorPage="value" %>

यहां मान त्रुटि JSP पृष्ठ मान का प्रतिनिधित्व करता है

उदाहरण:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>

कोड की व्याख्या:

उपरोक्त कोड में, अपवादों को संभालने के लिए हमारे पास irroHandler.jsp है

  1. सम्‍मिलित:
  • IsELIgnored एक ध्वज विशेषता है जहां हमें यह तय करना है कि क्या EL टैग्स को अनदेखा करना है या नहीं।
  • इसका डेटा टाइप जावा एनम है, और डिफ़ॉल्ट मान गलत है इसलिए ईएल डिफ़ॉल्ट रूप से सक्षम है।

सम्‍मिलित:

<%@ page isELIgnored="true/false" %>

यहां, सही / गलत ईएल के मूल्य को दर्शाता है कि इसे अनदेखा किया जाना चाहिए या नहीं।

उदाहरण:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>

कोड की व्याख्या:

उपरोक्त कोड में, isELIgnored सत्य है और इसलिए यहाँ अभिव्यक्ति भाषा (EL) को अनदेखा किया गया है।

नीचे दिए गए उदाहरण में हम चार विशेषताओं (कोड लाइन 1-2) का उपयोग कर रहे हैं

चार विशेषताओं के साथ उदाहरण

<% @ पृष्ठ भाषा = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "झूठा"%><% @ पृष्ठ आयात = "java.util.Date"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> निर्देशक गुरु JSP1 <शरीर> तिथि है: <% = new java.util.Date ()%>

कोड की व्याख्या:

कोड लाइन 1-2: यहां हमने चार विशेषताओं को परिभाषित किया है

  • भाषा: यह जावा के रूप में प्रोग्रामिंग भाषा के रूप में सेट है
  • contentType: कंपाइलर को HTML / फॉर्मेट बताने के लिए टेक्स्ट / html के रूप में सेट करें
  • pageEncoding: डिफ़ॉल्ट विशेषता इस विशेषता में सेट की गई है
  • isELIgnored: अभिव्यक्ति टैग गलत है इसलिए इसे अनदेखा नहीं किया जाता है

कोड लाइन 3: यहां हमने आयात विशेषता का उपयोग किया है, और यह "दिनांक वर्ग" आयात कर रहा है, जो जावा उपयोग पैकेज से है, और हम कोड में वर्तमान तिथि प्रदर्शित करने का प्रयास कर रहे हैं।

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

आउटपुट :

  • तिथि है: दिनांक वर्ग की तारीख पद्धति का उपयोग करके वर्तमान तिथि

JSP निर्देश शामिल करें

  • JSP "डायरेक्टिव को शामिल करें" (कोडलाइन 8) का उपयोग एक फाइल को दूसरी फाइल में शामिल करने के लिए किया जाता है
  • इसमें शामिल फ़ाइल HTML, JSP, पाठ फ़ाइलें आदि हो सकती है।
  • यह उपयोगकर्ता के विचारों के साथ टेम्प्लेट बनाने और शीर्षकों और पाद लेख और साइडबार कार्यों में पृष्ठों को तोड़ने में भी उपयोगी है।
  • इसमें अनुवाद चरण के दौरान फ़ाइल शामिल है

शामिल निर्देश का सिंटैक्स:

<%@ include… .%>

उदाहरण:

Directive_jsp2.jsp (मुख्य फ़ाइल)

<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><% @ में फ़ाइल = "directive_header_jsp3.jsp"%> शामिल हैं<सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> गुरु निर्देशन JSP2 <शरीर> यह मुख्य फ़ाइल है 

Directive_header_jsp3.jsp (जो मुख्य फ़ाइल में शामिल है)

<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शरीर> हेडर फ़ाइल: <% int count = 1; गिनती ++;out.println (गिनती);%>:

कोड की व्याख्या:

Directive_jsp2.jsp:

कोड लाइन 3: इस कोड में, हम उन टैग्स का उपयोग करते हैं, जहां हम फाइल डायरेक्टिव_हेडर_जैस। Jsp को मुख्य फाइल (_jsp2.jsp) में शामिल करते हैं और दोनों मुख्य फाइल और शामिल फाइल का आउटपुट प्राप्त करते हैं।

Directive_header_jsp3.jsp:

कोड लाइन 11-12: हमने 1 से आरंभ की गई एक चर गणना ली है और फिर इसे बढ़ाया। यह मुख्य फाइल में आउटपुट देगा जैसा कि नीचे दिखाया गया है।

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

आउटपुट:

  • आउटपुट हैडर फ़ाइल है: 2: यह मुख्य फाइल है
  • आउटपुट को directive_jsp2.jsp फ़ाइल से निष्पादित किया जाता है जबकि Directive_header_jsp3.jsp शामिल फ़ाइल को पहले संकलित किया जाएगा।
  • सम्मिलित फ़ाइल किए जाने के बाद, मुख्य फ़ाइल निष्पादित की जाती है, और आउटपुट मुख्य फ़ाइल "यह मुख्य फ़ाइल है" से होगा। इसलिए आपको _jsp3.jsp से "हैडर फ़ाइल: 2" के रूप में आउटपुट मिलेगा और _jsp2.jsp से "यह मुख्य फाइल है"।

जेएसपी टैगलिब डायरेक्टिव

  • जेएसपी टैगलिब निर्देश का उपयोग टैग लाइब्रेरी को "टैगलिब" के साथ उपसर्ग के रूप में परिभाषित करने के लिए किया जाता है, जिसे हम जेएसपी में उपयोग कर सकते हैं।
  • अधिक विवरण JSP कस्टम टैग अनुभाग में शामिल किया जाएगा
  • JSP taglib निर्देश JSP पृष्ठों में JSP मानक टैग पुस्तकालयों का उपयोग किया जाता है
  • यह कस्टम टैग के एक सेट का उपयोग करता है, लाइब्रेरी के स्थान की पहचान करता है और JSP पेज में कस्टम टैग की पहचान करने का साधन प्रदान करता है।

टैगलिब निर्देश का सिंटैक्स:

<%@ taglib uri="uri" prefix="value"%>

यहाँ "uri" विशेषता टैग लाइब्रेरी डिस्क्रिप्टर में एक विशिष्ट पहचानकर्ता है और "उपसर्ग" विशेषता एक टैग नाम है।

उदाहरण:

<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><% @ टैगलिब उपसर्ग = "गुरुटाग" उरई = "http://java.sun.com/jsp/jstl/core"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> गुरु निर्देशन JSP <गुरुगट: नमस्ते /><शरीर>

कोड की व्याख्या:

कोड लाइन 3: यहां "टैगलिब" को यूरी और प्रीफिक्स के साथ परिभाषित किया गया है।

कोड लाइन 9: "गुरुटाग" परिभाषित कस्टम टैग है और इसे कहीं भी उपयोग किया जा सकता है