2010-09-19 17 views
14

स्प्रिंग वेब MVCक्या हम DispatcherServlet संदर्भ कॉन्फ़िगरेशन फ़ाइल नाम बदल सकते हैं?

1) में यदि हम परिभाषित DispatcherServlet

नीचे के रूप में
<servlet> 
    <servlet-name>appServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
</servlet> 

यह के रूप में वसंत संदर्भ में उल्लेख किया WEB-INF फ़ोल्डर के अंतर्गत appServlet-servlet.xml नाम की फ़ाइल के लिए लग रहा है।

मेरा प्रश्न है कि हम इस फ़ाइल नाम और स्थान इसके लिए लग रहा है बदल सकते हैं है?

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
: (? मैं संदर्भ या init पैरामीटर्स का उपयोग लगता है कि हम ऐसा कर सकते हैं, किसी भी शरीर मुझे बता सकते हैं कि वास्तव में क्या यह होना चाहिए)

2) हर वसंत वेब MVC web.xml में, हम नीचे लाइन होगा

यहां, मेरा प्रश्न यह है कि संदर्भ फाइलें क्या दिखती हैं? (क्या यह संदर्भ लोडर श्रोता है जो dispatcherservlet-servlet.xml की तलाश में है?)

3) dispatcherservlet-servlet.xml और applicationcontext.xml के बीच अंतर? (मैंने देखा कि कुछ examples..where लोगों dispatcherservlet-servlet.xml में applicationcontext.xml आयात कर रहे हैं?)

4) कृपया मुझे बताओ कि हम वसंत वेब के लिए है और इसके लिए किसी भी नामकरण सम्मेलनों (डिस्पैचर सर्वलेट की तरह हैं सकते हैं कि कितने संदर्भों)?/

+0

मुझे आशा है कि नीचे दिया गया लिंक आपको प्रश्न का उत्तर देने में सक्षम होगा। http://stackoverflow.com/questions/11815339/role-purpose-of-contextloaderlistener-in-spring – user2292029

उत्तर

19
  1. "नामस्थान को namespace सर्वलेट इनिट-पैरा के माध्यम से स्पष्ट रूप से सेट किया जा सकता है।" आप सेट कर सकते हैं तुम वहाँ चाहते हैं जो कुछ भी पथ, संदर्भ जड़

  2. नहीं के सापेक्ष, ContextLoaderListener लग रहा है applicationContext.xml के लिए (या संदर्भ के परम contextConfigLocation द्वारा निर्दिष्ट फ़ाइल के लिए। एक बार फिर पथ संदर्भ जड़ के सापेक्ष है। मैं आमतौर पर /WEB-INF/classes/applicationContext.xml में अपना स्थान रखता हूं, और इसे संदर्भ-पैरा के मान के रूप में सेट करता हूं)।

  3. dispatcherServlet-servlet.xmlapplicationContext.xml द्वारा परिभाषित एक के लिए एक बाल संदर्भ है। बाल संदर्भ पैरेंट संदर्भ से सेम तक पहुंच सकता है, लेकिन विपरीत सत्य नहीं है। तो कल्पना करें कि आपके पास एक "वेब" संदर्भ है, सभी नियंत्रकों और वेब से संबंधित सामान, और अन्य सभी चीज़ों के साथ "मुख्य" संदर्भ

  4. सलाह दी जाती है कि जितना संभव हो सके उतने संदर्भ (सादगी के लिए) । लेकिन आप एकाधिक प्रेषक servlets परिभाषित कर सकते हैं, और इसलिए कई "बच्चे" संदर्भ हैं।

+0

बोझो, आपके उत्तर के लिए धन्यवाद ... मैं अभी भी पहले दो उत्तरों से स्पष्ट नहीं हूं। (1) प्रश्न प्रेषक सर्वलेट संदर्भ फ़ाइल और पथ के नाम के बारे में है। डिफ़ॉल्ट फ़ाइल द्वारा '<डिस्पैचर सर्वलेट-सर्वलेट> .xml' होना चाहिए और' WEB-INF' फ़ोल्डर के अंतर्गत होना चाहिए, क्या हम इन नियमों को init param का उपयोग कर बदल सकते हैं? (2) तो यह 'applicationcontext.xml' की तलाश में है, क्या आप पथ के बारे में भी वर्णन कर सकते हैं? – javanoob

+0

@javanoob - अपडेट देखें। आप संदर्भ रूट के सापेक्ष पथ सेट कर सकते हैं। – Bozho

+0

** ContextLoaderListener ** ** classpath स्वीकार करें:/path/to/spring.xml' वाक्यविन्यास ** संदर्भ कॉन्फ़िगर स्थान ** के लिए। – gavenkoa

14

मेरा प्रश्न है कि हम इस फ़ाइल नाम और स्थान इसके लिए लग रहा है बदल सकते हैं है?

क्या आपका मतलब यह है कि आप एक फ़ाइल है जहाँ से mvc-shocase/web.xml

<!-- Processes application requests --> 
<servlet> 
    <servlet-name>appServlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
+0

हाय, आपकी प्रतिक्रिया के लिए धन्यवाद .. सवाल यह था कि हम 'appServlet-servlet.xml' से नाम बदल सकते हैं (आपने इसे' appServlet.xml') के रूप में वर्णित किया है .. आप कैसे जानते थे कि मैं इसका जिक्र कर रहा था उदाहरण (एमवी-शोकेस) :)? – javanoob

0

1 ए के रूप में appServlet.xml

प्रतिलिपि बनाई जा रही-पेस्ट नाम नहीं है) हाँ उपयोग करना चाहते हैं, लेकिन हम init- पास करनी होगी डीडी या वेब में क्रमशः "संदर्भ कॉन्फिग्लोकेशन" और "यूआर फाइल का स्थान" के रूप में नाम और मूल्य के साथ डिस्पैचर सर्वलेट के लिए पैरा।एक्सएमएल फ़ाइल।

2 ए) Bozho पहले से ही उत्तर दिया। यह [ContextLoaderListener] संदर्भ-param के लिए संदर्भ param-name में मैप किए गए संदर्भ param-value के रूप में प्रदान की गई संदर्भ xml फ़ाइल को लोड करना चाहता है। "Dispatcherservlet-servlet.xml" की तलाश में स्प्रिंग एमवीसी में एक डिफ़ॉल्ट प्रक्रिया है। ContextLoaderListener इसे नहीं देखता है।

3 ए) Bozho पहले से ही उत्तर दिया।

4 ए) Bozho पहले से ही उत्तर दिया।

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