2010-01-15 12 views
26

डीडी तत्व <context-param> और <init-param> दोनों को सर्वलेट कोड में getInitParameter() विधि द्वारा पुनर्प्राप्त किया जा सकता है।अंतर बी/डब्ल्यू <संदर्भ-param> और <init-param>

अब सवाल यह है कि यह <context-param> और <init-param> को अलग कैसे करता है?

+0

मुझे नहीं पता क्यों, लेकिन मैं मानता हूं कि यह भ्रमित और परेशान है। –

+0

मैं मानता हूं कि यह एक असली सवाल भी नहीं है। – Bombe

+1

"हैं और इन में"? डीडी तत्व? आपका शीर्षक आपके शरीर की तुलना में अधिक वर्णनात्मक क्यों है? – pstanton

उत्तर

43

सर्वलेट init पैरामीटर केवल एक ही सर्वलेट के लिए हैं। उस सर्वलेट के बाहर कुछ भी उस तक पहुंच नहीं सकता है। यह <servlet> डिप्लॉयमेंट डिस्क्रिप्टर के टैग के अंदर घोषित किया गया है, दूसरी ओर संदर्भ init पैरामीटर पूरे वेब एप्लिकेशन के लिए है। उस वेब एप्लिकेशन में कोई भी सर्वलेट या जेएसपी संदर्भ init पैरामीटर तक पहुंच सकता है। संदर्भ पैरामीटर को टैग में <web-app> टैग के अंदर सीधे घोषित किया गया है।

संदर्भ init पैरामीटर तक पहुँचने के लिए तरीकों सर्वलेट init पैरामीटर तक पहुँचने के लिए

getServletContext().getInitParameter("name"); 

विधि जबकि है

getServletConfig().getInitParameter("name"); 
1

रूप Adeel Ansari, here से समझाया है, यह क्या वस्तु हैं पर निर्भर करता है आप सर्वलेट कोड में getInitParameter() विधि का आह्वान करते हैं।

सभी सर्लेट से निकलता है और इसलिए GenericServlet का उदाहरण है।

ServletContext context = this.getServletContext(); 
String paramValue = context.getInitParamter("paramName"); 

:

डीडी तत्वों <context-param> के द्वारा प्राप्त किया जा सकता है।

डीडी तत्वों <init-param> दोनों के द्वारा प्राप्त किया जा सकता है:

ServletConfig config = this.getServletConfig(); 
String paramValue = config.getInitParamter("paramName"); 

भी ध्यान रखें कि जब से GenericServlet वर्ग ServletConfig इंटरफ़ेस लागू करता है, अपने सर्वलेट वर्ग भी ServletConfig है (तात्पर्य this = this.getServletConfig())। इसलिए आप सीधे डीडी तत्व <init-param> भी प्राप्त कर सकते हैं:

String paramValue = this.getInitParamter("paramName"); 

आप डीडी तत्वों दोनों में अलग-अलग मानों के साथ समान पैरा-नाम रखने और इसे अपने सर्वलेट में प्रिंट करने का प्रयास कर सकते हैं।

संबंधित मुद्दे