2011-12-27 16 views
5

मैं स्प्रिंग एमवीसी का अध्ययन करने के लिए this लिंक का उपयोग कर रहा हूं। जैसा वर्णन किया गया है प्रेषक-सर्वलेट सभी आने वाले अनुरोधों को शीर्ष पर रखता है।एक नियंत्रक कौन सा है और स्प्रिंग एमवीसी में हैंडलर मैपिंग कौन सा है?

यह भी वर्णन करता है कि एक हैंडलर मैपिंग और नियंत्रक है। हालांकि, स्रोत कोड में, केवल नियंत्रक का उपयोग किया जाता है। तब हैंडलर मैपिंग कौन सा है? क्या एक अलग फाइल नहीं है?

या यह किसी अन्य जटिल परिदृश्य में मौजूद है?

उत्तर

9

जब कोई हैंडलर मैपिंग कॉन्फ़िगरेशन में स्पष्ट रूप से निर्दिष्ट नहीं है, BeanNameUrlHandlerMapping डिफ़ॉल्ट रूप से बनाया और उपयोग किया जाता है।

लेख आप लिंक से:।।

"डिफ़ॉल्ट रूप से DispatcherServletBeanNameUrlHandlerMapping का उपयोग करता भेजे अनुरोध मैप करने के लिए BeanNameUrlHandlerMapping URL प्रतिमान के रूप में सेम नाम का उपयोग करता है BeanNameUrlHandlerMapping डिफ़ॉल्ट रूप से प्रयोग किया जाता है, तो आप ऐसा करने की जरूरत नहीं इसके लिए कोई अलग विन्यास। "

8

नियंत्रक और HandlerMapping स्प्रिंग एमवीसी में दो अलग-अलग चीजें हैं। नियंत्रक एक वास्तविक जावा वर्ग है जिसका उपयोग अनुरोध को संसाधित करने के लिए किया जाता है। हम कक्षा परिभाषा के शीर्ष पर @Controller घोषित करते हैं। जहां HandlerMapping स्प्रिंग ढांचे के वर्ग में बनाया गया है। BeanNameUrlHandlerMapping, ControllerClassNameHandlerMapping आदि जैसे वसंत ढांचे में कई हैंडलर मैपिंग हैं। डिफ़ॉल्ट रूप से, BeanNameUrlHandlerMapping अनुरोध को मैप करने के लिए उपयोग किया जाता है। इस वर्ग ने विधि के साथ विशेष अनुरोध को मैप करने के लिए वर्गीकृत सभी नियंत्रक में खोज की।

0

हैंडलर मैपिंग डिस्पैचर सर्वलेट के लिए सहायक के रूप में काम करता है। यह डिस्पैचर सर्वलेट को उचित नियंत्रक बीन की पहचान करने में मदद करता है। डिफ़ॉल्ट हैंडलर मैपिंग बीन DefaultUrlHandlerMapping है।

यह यूआरएल द्वारा नियंत्रक बीन की पहचान करता है। यह नियंत्रक बीन के साथ यूआरएल में नाम से मेल खाता है। यदि यह मेल खाता है तो यह वापस DispatcherServlet पर वापस आ जाएगा और अंत में सर्वलेट नियंत्रक की व्यावसायिक विधि निष्पादित करता है और मॉडल और दृश्य ऑब्जेक्ट को प्रेषक सर्वलेट पर वापस देता है।

-1
  • DispatcherServlet हैंडलर मैपिंग का समर्थन करता है और अनुरोध से जुड़े नियंत्रक को आमंत्रित करता है।
  • Controller उपयुक्त सेवा विधियों को कॉल करके अनुरोध को संसाधित करता है और एक मोड और व्यू ऑब्जेक्ट डिस्पैचर सर्वलेट पर देता है।
  • Controller विशिष्ट प्रकार का हैंडलर i.e. Controller उपयोगकर्ता इनपुट के आधार पर अलग-अलग दृश्य देता है। लेकिन सभी हैंडलर Controllers नहीं हैं।
  • HandlerMapping: HandlerMapping रणनीति नक्शा कुछ हैंडलर नियंत्रक (या नियंत्रक) करने के लिए HTTP ग्राहक के अनुरोध और/या विधि के लिए प्रयोग किया जाता है। यह अनुरोध यूआरएल और HTTP विधि के आधार पर किया जाता है, लेकिन इसमें अनुरोध पैरामीटर, अनुरोध शीर्षलेख, या अन्य कस्टम कारक भी शामिल हो सकते हैं। उदाहरण के लिए, SimpleUrlHandlerMapping या BeanNameUrlHandlerMapping
+0

यदि दो प्रश्नों का एक ही उत्तर है, तो वे अत्यधिक डुप्लिकेट की संभावना रखते हैं। उत्तर पोस्ट दोहराएं मत। डुप्लिकेट के रूप में प्रश्नों को बंद करने के लिए वोट दें। –

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