सिस्टम डिज़ाइन के संदर्भ में, कोई भी संदर्भ सामान्य कार्यक्षमता और डेटा का संग्रह है, जो एक स्थान पर परिभाषित किया गया है, लेकिन प्रोग्राम में कहीं से भी इसका उपयोग किया जाना चाहिए। और संदर्भ का मुख्य उद्देश्य - आवेदन के घटकों के बीच निर्भरताओं की संख्या को कम करता है। संदर्भ का एक और उद्देश्य - सामान्य कार्यक्षमता और डेटा तक पहुंच को सरल बनाता है। आइए उन संदर्भों पर विचार करें जिन्हें आपने अपने प्रश्न में सूचीबद्ध किया है।
ServletContext
ServletContext
Servlet technology का हिस्सा है। कई ढांचे इस तकनीक पर आधारित हैं (जेएसएफ, स्प्रिंग, स्ट्रूट्स और कई)। ServletContext
में अपने सर्वलेट कंटेनर (जैसे टोमकैट, ग्लासफ़िश आदि) के साथ संवाद करने की कार्यक्षमता शामिल है। मूल बातें ServletContext
प्रदान करता है:
- एप्लिकेशन प्रारंभिक पैरामीटर प्राप्त करें;
- अनुरोध प्रेषण के बारे में जानकारी प्राप्त करें;
- Servlets, फ़िल्टर और श्रोताओं को जोड़ें या हटाएं;
- कंटेनर के गुण प्राप्त या सेट करें;
- लॉग रन-टाइम संदेश लॉग;
- आवेदन पथ, कंटेनर संस्करण आदि
जैसा कि आप देख ही बुनियादी कार्यक्षमता है, कि आवेदन में कहीं भी उपयोगी हो सकता है, यदि आप सर्वलेट प्रौद्योगिकी के साथ काम करेंगे की तरह अतिरिक्त जानकारी प्राप्त (उदाहरण के लिए, एक और विकसित इसके आधार पर एक एमवीसी-फ्रेमवर्क)।
ApplicationContext
ApplicationContext
Spring framework अनुप्रयोग का मुख्य इंटरफेस है। इसमें बहुत सारे कार्यान्वयन हैं। उनमें से एक xml-file (ClassPathXmlAplicationContext) से कॉन्फ़िगरेशन लोड करता है, कोई अन्य एनोटेशन (एनोटेशन कॉन्फिग एप्प्लिकेशन कॉन्टेक्स्ट) पर आधारित कॉन्फ़िगरेशन लोड करता है और इसी तरह।मूल बातें जो ApplicationContext
प्रदान करती है:
- बीन कारखाना, बीन परिभाषाओं के आधार पर नए सेम बनाने की क्षमता;
- विभिन्न स्रोतों से लोड संसाधन (फ़ाइल सिस्टम, जार फाइलें, यूआरएल इत्यादि);
- घटनाओं को प्रकाशित और सुनने की क्षमता;
- संदेश बंडलों से संदेशों को हल करें;
फिर से, शुरुआत में शुरू हुआ, यह मूल कार्यक्षमता आपके आवेदन में लगभग कहीं भी उपयोगी हो सकती है। यही कारण है कि यह संदर्भ में एकत्रित किया। पृष्ठभूमि में उपयोग की जाने वाली कई कक्षाएं, इस क्षमताओं को प्रदान करने के लिए, लेकिन आपको यह जानना है कि इस कार्यक्षमता का उपयोग करने के लिए - बस ApplicationContext
।
SecurityContext
SecurityContext
प्रमाणीकरण डेटा तक पहुँच प्रदान करता है। आप प्रमाणित उपयोगकर्ता, भूमिकाओं और अन्य विवरणों का नाम प्राप्त कर सकते हैं। सुरक्षा मॉड्यूल द्वारा शुरू की गई यह जानकारी कई स्थानों पर आवश्यक हो सकती है। Сomponents, जो इस जानकारी का उपयोग सुरक्षा सुरक्षा वर्गों के वर्गों के बारे में कुछ नहीं पता है। वे सिर्फ SecurityContext
से सभी आवश्यक जानकारी प्राप्त करते हैं।
स्रोत
2016-03-11 16:29:44
सही वेब आधारित वसंत एप्लिकेशन द्वारा भी servlet के शीर्ष पर चलाया जाता है? तो अगर मैं "रूट" संदर्भ कहता हूं -> "सर्वलेट" संदर्भ -> "वसंत" संदर्भ सही है? – Harshana
मूल संदर्भ "मूल संदर्भ" है, इसलिए सर्वलेट संदर्भ मूल संदर्भ से प्राप्त होता है, क्योंकि यह बच्चा है। इस तरह के बारे में सोचें ... आप रूट की संदर्भ को एप्लिकेशन की ज़रूरतों (सेवाओं, आदि) के साथ बनाते हैं, लेकिन सर्वलेट संदर्भ केवल "चीजें" को तत्काल करता है जिसे इसे सर्वलेट होने की आवश्यकता होती है। याद रखें, आपके पास प्रति कंटेनर एकाधिक एकाधिकलेट हो सकते हैं और वे सभी "रूट एप्लिकेशन संदर्भ" साझा कर सकते हैं यह समझने के लिए महत्वपूर्ण है कि यह सब एक साथ कैसे फिट बैठता है। – dkanejs
ठीक है धन्यवाद। जब सर्वलेट और वसंत संदर्भ की बात आती है, तो अगर मैं कहता हूं कि सर्वलेट संदर्भ वसंत संदर्भ का अभिभावक है या क्या यह भाई संबंध है? वसंत भी सर्वलेट संदर्भ का उपयोग कर सकते हैं लेकिन इसके विपरीत नहीं? क्या वो सही है? – Harshana