गतिशील वेबसाइटों को विकसित करने के साथ मेरा अनुभव ज्यादातर जावा सर्वलेट्स तक सीमित है। मैंने विभिन्न जावा सर्वलेट्स को विकसित करने के लिए टॉमकैट का उपयोग किया है, और मुझे यह कहने में संकोच नहीं होगा कि मैं इस तकनीक के साथ-साथ क्लाइंट-साइड HTML / CSS / जावास्क्रिप्ट के साथ फ्रंट-एंड के लिए काफी कुशल हूं।
जब मुझे लगता है कि "गतिशील वेबसाइट", मुझे लगता है: उपयोगकर्ता एक क्वेरी स्ट्रिंग के साथ एक URL का अनुरोध करता है, सर्वर क्वेरी प्राप्त करता है, और फिर क्वेरी का जवाब देने के लिए गतिशील रूप से HTML आउटपुट करता है। इसमें डिस्प्ले के लिए अनुरोधित डेटा लाने के लिए अक्सर डेटाबेस के साथ संचार शामिल होता है। यह मूल रूप से doGet
जावा की पद्धति के पीछे का विचार है HttpServlet
।
लेकिन इन दिनों, मैं नए फ्रेमवर्क जैसे कि Django और रूबी ऑन रेल्स के बारे में अधिक से अधिक सुन रहा हूं, जो सभी "मॉडल व्यू कंट्रोलर" वास्तुकला का लाभ उठाते हैं। मैंने विभिन्न लेख पढ़े हैं जो एमवीसी की व्याख्या करते हैं, लेकिन मुझे वास्तव में लाभ समझने में परेशानी हो रही है। मैं समझता हूं कि सामान्य तर्क यूआई लॉजिक से व्यावसायिक तर्क को अलग करना है, लेकिन मैं यह देखने में विफल हूं कि यह वास्तव में सामान्य वेब प्रोग्रामिंग से अलग कैसे है। वेब प्रोग्रामिंग, यह बहुत ही प्रकृति है, आपको यूआई प्रोग्रामिंग (क्लाइंट-साइड HTML या जावास्क्रिप्ट) से व्यावसायिक तर्क (बैक-एंड सर्वर-साइड प्रोग्रामिंग) को अलग करने के लिए मजबूर करता है, क्योंकि दोनों प्रोग्रामिंग के पूरी तरह से अलग-अलग क्षेत्रों में मौजूद हैं।
प्रश्न: एमवीसी जावा सर्वलेट जैसी किसी चीज़ पर क्या पेशकश करता है, और इससे भी महत्वपूर्ण बात यह है कि वास्तव में एमवीसी क्या है और यह किस तरह से अलग है कि आप सामान्य रूप से जावा सर्वलेट (या यहां तक कि) जैसे पारंपरिक दृष्टिकोण का उपयोग करके एक गतिशील वेबसाइट विकसित करने के लिए क्या करेंगे। CGI की तरह कुछ पुराना)? यदि संभव हो तो, एमवीसी की व्याख्या करते समय, कृपया एक उदाहरण प्रदान करें जो यह बताता है कि एमवीसी को वेब विकास प्रक्रिया में कैसे लागू किया जाता है, और यह कैसे फायदेमंद है।