web.xml
एक मानक जावाईई फ़ाइल है और इसकी संरचना सर्वलेट विनिर्देश में अच्छी तरह से प्रलेखित है। web.xml
में, आप यूआरएल घोषित करते हैं क्योंकि यह आपके स्थानीय जेएनडीआई नेमस्पेस (java:comp/env
) के भीतर जाना जाता है।
web.xml
आपके WAR प्रोजेक्ट संरचना के नीचे WEB-INF
के अंदर स्थित होना चाहिए। यदि आप वेब प्रोजेक्ट बनाने के लिए आईडीई (जैसे एक्लिप्स) का उपयोग कर रहे हैं, तो यह फ़ाइल आपके लिए पहले से ही बनाई जानी चाहिए (जब तक आप सर्वलेट विशिष्टता 2.5 और ऊपर का उपयोग नहीं करते - सर्वलेट विशिष्टता 2.5 जावाईई 5.0 के साथ शामिल है - जहां परिनियोजन वर्णनकर्ता वैकल्पिक हैं)।
ibm-web-bnd.xml
एक वेबस्पेयर-विशिष्ट फ़ाइल है। इसमें घोषित कलाकृतियों (जैसे यूआरएल परिभाषा) के वास्तविक कलाकृतियों में बाध्यकारी है। उस फ़ाइल के प्रारूप को जानने के लिए आपको आईबीएम के दस्तावेज का संदर्भ लेना चाहिए।
ibm-web-bnd.xml
फ़ाइल web.xml
के समान निर्देशिका में स्थित होना चाहिए।
resource-ref
की id
विशेषता, आप की तरह किसी मान पर सेट किया जा सकता है जब तक कि यह पार-संदर्भित एक मिलान id
ibm-web-bnd.xml
अंदर विशेषता के आधार पर किया जाता है। इस प्रकार में परिभाषाओं के लिए ibm-web-bnd.xml
में परिभाषाओं को परिभाषित कर सकते हैं। ट्यूटोरियल में दिखाई देने वाली यादृच्छिक स्ट्रिंग आरएडी या डब्ल्यूएसएडी द्वारा बनाई गई है; आप वहां कोई पहचानकर्ता रख सकते हैं।
web.xml
में, आप स्थानीय JNDI नाम निर्धारित:
संपादित (जोड़ा निर्देश)
संक्षेप में, प्रक्रिया यह है। वह वह नाम होगा जिसके द्वारा आपका जावा कोड यूआरएल का जिक्र कर रहा है। उदाहरण के लिए, myWebsiteUrl
। आपके कोड को java:comp/env/myWebsiteUrl
पर एक जेएनडीआई लुकअप करना होगा। परिभाषा इन पंक्तियों के साथ है:
<resource-env-ref>
<resource-env-ref-name>myWebsiteUrl</resource-env-ref-name>
<resource-env-ref-type>java.net.URL</resource-env-ref-type>
</resource-env-ref>
WebSphere ही में, एक यूआरएल परिभाषा जोड़ें। वेबस्पेयर के जेएनडीआई पेड़ में जेएनडीआई नाम कुंजी है जिसके द्वारा यूआरएल ज्ञात होगा। आप वहां कोई मूल्य निर्धारित कर सकते हैं, हालांकि इसकी सिफारिश की जाती है (सम्मेलन द्वारा) कि आप इसे url/
से उपसर्ग करते हैं। उदाहरण के लिए: url/test
।
ibm-web-bnd.xml
में, आप myWebsiteUrl
url/test
(आपके आवेदन के द्वारा देखा-अप) (जो JNDI नाम है जिसके द्वारा WebSphere URL ज्ञात है) बाध्य करने के लिए की जरूरत है। परिभाषा की तर्ज पर होगा:
<resource-env-ref name="myWebsiteUrl" binding-name="url/test"/>
चरण 3 की आवश्यकता नहीं है। यदि ibm-web-bnd.xml
परिनियोजन समय पर मौजूद नहीं है, तो GUI- आधारित परिनियोजन प्रवाह (जब आप WAS व्यवस्थापन कंसोल के माध्यम से अनुप्रयोगों को तैनात करते हैं) तब आपको बाध्यकारी मानों के लिए संकेत देगा। (आप पटकथा का उपयोग कर की तैनाती रहे हैं, तो आप अभी भी ibm-web-bnd.xml
फ़ाइल आप एक अलग तरह से बाइंडिंग द्वारा बताए गए अनुसार छोड़ सकते हैं जब तक है, लेकिन वह इस उत्तर के दायरे से बाहर है। पढ़ें आईबीएम प्रलेखन के बारे में रणनीति फ़ाइलों और AdminApp.installApplication
)
नोट: जब तक आप जावाईई 5.0 और ऊपर का उपयोग करते हैं, तो आपको परिभाषाओं में id
विशेषता की आवश्यकता नहीं है। जिस लेख को आप पढ़ रहे हैं, वह बेहद पुराना है।
हाय, इसहाक। आपके जवाब का धन्यवाद! क्या आप मुझे जेएनडीआई उपयोग के लिए वेबस्पेयर सेट अप करने के बारे में सिखा सकते हैं? मेरे पास जेएनडीआई के लिए कोई पृष्ठभूमि नहीं है और यह मेरा पहला समय यूआरएल संसाधन बनाने का है, इसलिए मुझे लगता है कि मैंने कुछ गलत समझा। – Arci
मेरी समझ के आधार पर, जेएनडीआई का उपयोग करने के लिए, मुझे वेबस्पेयर पर एक यूआरएल संसाधन स्थापित करने की आवश्यकता है जिसमें मुझे कुंजी मूल्य जोड़ी में एक यूआरएल घोषित करने की आवश्यकता है (उदाहरण के लिए, url1 = http://www.website.com/url1)। कुंजी का उपयोग वेब एप्लिकेशन में किया जाएगा जिसमें इसे 'जावा: comp/env/key' प्रारूप में संदर्भित किया जा सकता है। ट्यूटोरियल में जो मैंने समझा, उससे मुझे वेबस्पेयर के web.xml और ibm-web-bnd.xml को सेट करने की आवश्यकता है, न कि WAR के web.xml और ibm-web-bnd.xml। या ट्यूटोरियल मेरी WAR फ़ाइल के एक्सएमएल को संदर्भित करता है? यदि ऐसा है, तो मैं वेबस्पेयर पर अपने यूआरएल का मूल्य कहां सेट कर सकता हूं? – Arci
उत्तर संपादित किया गया। – Isaac