2012-09-02 10 views
5

ठीक वसंत गुरु ... मेरे लिए यह एक तोड़ दो। वसंत MVC पर प्रलेखन पढ़ते समय, मैं इस बयान भर में ई कैम:वसंत डिस्पैटर सर्बलेट एकाधिक उदाहरण

".... वसंत में ApplicationContext उदाहरणों scoped किया जा सकता है वेब MVC ढांचे में, प्रत्येक DispatcherServlet अपनी ही WebApplicationContext है, जो सभी को विरासत में नहीं है। जड़ पहले से ही वेब WebplicationContext में परिभाषित किया गया है। परिभाषित इन विरासत बीन्स को सर्वलेट-विशिष्ट दायरे में ओवरराइड किया जा सकता है, और नए स्कोप-विशिष्ट बीन्स को दिए गए सर्वलेट उदाहरण में स्थानीय परिभाषित किया जा सकता है। "

Spring Docs Reference

मैं इस के आधार पर कुछ प्रश्न हैं:

  1. बयान का तात्पर्य DispatcherServlet के एक से अधिक उदाहरण नहीं हो सकता है कि। क्या यह पूरी तरह से सच नहीं है क्योंकि वेब ऐप में, सर्वलेट का केवल एक उदाहरण (और आदर्श होना चाहिए) मौजूद है?
  2. उपरोक्त कथन के संदर्भ में "सर्वलेट-विशिष्ट दायरा" का क्या अर्थ है?

उत्तर

2

जो मुझे नहीं लगता कि आप क्या मतलब है कि पूरी तरह से सच नहीं नहीं

इस तब्दील करने के लिए है "कभी कभी सच है,"।

एक वेब अनुप्रयोग में

, एक सर्वलेट उसमें केवल एक ही कर सकते हैं (और चाहिए आदर्श) मौजूद है

यह पूरी तरह गलत नहीं है - सिर्फ ज्यादातर गलत। आप सर्वलेट को कार्यान्वित करने वाले वर्ग के साथ तैनाती वर्णनकर्ता (web.xml) के <servlet> तत्व को भ्रमित कर रहे हैं।

यह सच है कि, कुछ सीमित मामलों को छोड़कर, कंटेनर को केवल प्रति servlet वर्ग के एक उदाहरण को तुरंत चालू करने की अनुमति है। हालांकि, आपके पास एकाधिक <servlet> प्रविष्टियां हो सकती हैं जो सभी एक ही कक्षा निर्दिष्ट करते हैं।

वास्तव में क्या करता है "सर्वलेट विशेष गुंजाइश" उपरोक्त कथन

एक नहीं बहुत-अच्छा उदाहरण (वास्तव में, मुझे लगता है कि कुछ अच्छे उदाहरण हैं) के रूप में के संदर्भ में मतलब है: आप हो सकता है कि एक ऐसा एप्लिकेशन हो जो एकाधिक क्लाइंट का समर्थन करता हो, जिनमें से प्रत्येक के पास अलग-अलग यूआरएल और विभिन्न डेटाबेस हैं, लेकिन अन्यथा समान हैं। आप रूट कॉन्फ़िगरेशन में अपनी व्यावसायिक ऑब्जेक्ट्स और वेब-एप कॉन्फ़िगरेशन में डेटासोर्स को परिभाषित कर सकते हैं। साथ ही किसी क्लाइंट-विशिष्ट कॉन्फ़िगरेशन सेम।

+0

मैंने ऊपर की ओर इशारा करते हुए 'नहीं' के साथ अपनी गलती को सही किया, धन्यवाद। वैसे भी, अच्छा स्पष्टीकरण। मुझे लगता है कि बहुत साफ करता है। हालांकि, मैं अभी भी अपने सिर को खरोंच कर रहा हूं कि आप एक वेब ऐप में कई समान सर्लेट क्यों चाहते हैं, बस अलग-अलग मैप किए गए अनुरोधों को संभालने के लिए। अलग-अलग वेब ऐप्स क्यों नहीं हैं, प्रत्येक के पास एक अलग संदर्भ पथ है? क्या पूर्व मामला नहीं होगा (विभिन्न यूआरएल को संभालने के लिए एक वेब ऐप में कई समान सर्लेट) गंभीर सिरदर्द के लिए बस एक नुस्खा हो? – mainas

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