उदाहरण के साथ JSP में MVC आर्किटेक्चर

विषय - सूची:

Anonim

MVC क्या है?

एमवीसी एक वास्तुकला है जो व्यापार तर्क, प्रस्तुति और डेटा को अलग करती है। MVC में,

  • एम मॉडल के लिए खड़ा है
  • V का अर्थ है व्यू
  • C का मतलब कंट्रोलर से है।

एमवीसी एप्लिकेशन का उपयोग करने का एक व्यवस्थित तरीका है जहां प्रवाह दृश्य परत से शुरू होता है, जहां अनुरोध उठाया जाता है और नियंत्रक परत में संसाधित किया जाता है और डेटा डालने और सफलता या विफलता संदेश वापस पाने के लिए मॉडल परत पर भेजा जाता है।

मॉडल परत:

  • यह डेटा लेयर है जिसमें सिस्टम के बिजनेस लॉजिक होते हैं।
  • इसमें एप्लिकेशन के सभी डेटा शामिल हैं
  • यह एप्लिकेशन की स्थिति का भी प्रतिनिधित्व करता है।
  • इसमें ऐसी कक्षाएं शामिल हैं जिनका डेटाबेस से कनेक्शन है।
  • नियंत्रक मॉडल के साथ जोड़ता है और डेटा को प्राप्त करता है और दृश्य परत को भेजता है।
  • मॉडल डेटाबेस के साथ भी जोड़ता है और डेटा को डेटाबेस में संग्रहीत करता है जो इससे जुड़ा होता है।

परत देखें:

  • यह एक प्रस्तुति परत है।
  • इसमें HTML, JSP आदि शामिल हैं।
  • यह सामान्य रूप से एप्लिकेशन का UI प्रस्तुत करता है।
  • इसका उपयोग नियंत्रक से प्राप्त किए गए डेटा को प्रदर्शित करने के लिए किया जाता है जो बदले में मॉडल परत वर्गों से डेटा ला रहा है।
  • यह दृश्य परत एप्लिकेशन के UI पर डेटा दिखाती है।

नियंत्रक परत:

  • यह व्यू और मॉडल के बीच एक इंटरफेस के रूप में कार्य करता है।
  • यह सभी अनुरोधों को स्वीकार करता है जो दृश्य परत से आ रहे हैं।
  • यह दृश्य परत से अनुरोध प्राप्त करता है और अनुरोधों को संसाधित करता है और अनुरोध के लिए आवश्यक सत्यापन करता है।
  • यह अनुरोध डेटा प्रोसेसिंग के लिए आगे मॉडल लेयर पर भेजा जाता है, और अनुरोध के संसाधित होने के बाद, यह आवश्यक जानकारी के साथ नियंत्रक को वापस भेजता है और दृश्य के अनुसार प्रदर्शित होता है।

चित्र नीचे दर्शाया गया है:

एमवीसी के फायदे हैं:

  • बनाए रखना आसान है
  • विस्तार करने में आसान
  • परीक्षण करने में आसान
  • नेविगेशन नियंत्रण केंद्रीकृत है

एमवीसी वास्तुकला का उदाहरण

इस उदाहरण में, हम यह दिखाने जा रहे हैं कि जेएसपी में एमवीसी वास्तुकला का उपयोग कैसे किया जाए।

  • हम दो चर "ईमेल" और "पासवर्ड" के साथ एक फॉर्म का उदाहरण ले रहे हैं, जो हमारी दृश्य परत है।
  • एक बार जब उपयोगकर्ता ईमेल और पासवर्ड दर्ज करता है और सबमिट पर क्लिक करता है तो कार्रवाई mvc_servlet में पारित हो जाती है जहां ईमेल और पासवर्ड पारित किए जाते हैं।
  • यह mvc_servlet नियंत्रक परत है। यहाँ mvc_servlet में अनुरोध सेम ऑब्जेक्ट को भेजा जाता है जो मॉडल लेयर के रूप में कार्य करता है।
  • ईमेल और पासवर्ड मान सेम में सेट किए जाते हैं और आगे के उद्देश्य के लिए संग्रहीत किए जाते हैं।
  • बीन से, मान प्राप्त किया जाता है और दृश्य परत में दिखाया जाता है।

Mvc_example.jsp

<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> एमवीसी गुरु उदाहरण <शरीर><फ़ॉर्म कार्रवाई = "Mvc_servlet" विधि = "POST">ईमेल: <इनपुट प्रकार = "पाठ" नाम = "ईमेल">
पासवर्ड: <इनपुट प्रकार = "टेक्स्ट" नाम = "पासवर्ड" /><इनपुट प्रकार = "सबमिट करें" मूल्य = "सबमिट करें" />

कोड की व्याख्या:

परत देखें:

कोड लाइन 10-15: यहां हम एक फॉर्म ले रहे हैं, जिसमें दो फ़ील्ड हैं जैसे "ईमेल" और "पासवर्ड" और यह अनुरोध एक नियंत्रक Mvc_servlet.java को अग्रेषित करने की आवश्यकता है, जो कार्रवाई में पारित हो गया है। विधि जिसके माध्यम से पारित कर दिया है पोस्ट विधि है।

Mvc_servlet.java

पैकेज डिमोटेस्ट;आयात java.io.IOException;आयात javax.servlet.RequestDispatcher;आयात javax.servlet.ServletException;आयात javax.servlet.http.HttpServlet;आयात javax.servlet.http.HttpServletRequest;आयात javax.servlet.http.HttpServletResponse;/ *** सर्वलेट कार्यान्वयन वर्ग Mvc_servlet* /सार्वजनिक वर्ग Mvc_servlet HttpServlet {निजी स्थिर अंतिम लंबा सीरियलवर्जनयूआईडी = 1 एल;/ *** @ HttpServlet # HttpServlet ()* /सार्वजनिक Mvc_servlet () {सुपर();// TODO ऑटो-जनरेट कंस्ट्रक्टर स्टब}संरक्षित शून्य doPost (HttpServletRequest अनुरोध, HttpServletResponse प्रतिसाद) ServletException, IOException {फेंकता है// TODO ऑटो-जनरेट विधि ठूंठस्ट्रिंग ईमेल = request.getParameter ("ईमेल");स्ट्रिंग पासवर्ड = request.getParameter ("पासवर्ड");TestBean testobj = नया TestBean ();testobj.setEmail (ईमेल);testobj.setPassword (पासवर्ड);request.setAttribute ("गुरूबेन", टेस्टोबज);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (अनुरोध, प्रतिक्रिया);}}

कोड की व्याख्या:

नियंत्रक परत

कोड लाइन 14: mvc_servlet HttpServlet का विस्तार कर रहा है।

कोड लाइन 26: चूंकि उपयोग की जाने वाली विधि POST है, इसलिए अनुरोध सर्वलेट के doPost विधि में आता है जो अनुरोधों को संसाधित करता है और टेस्टोबिज के रूप में सेम ऑब्जेक्ट में बचाता है।

कोड लाइन 34: अनुरोध ऑब्जेक्ट का उपयोग करके हम विशेषता को गुरूबेन के रूप में सेट कर रहे हैं जिसे टेस्टोबेज का मान सौंपा गया है।

कोड लाइन 35: यहां हम mvc_success.jsp को सफलता संदेश भेजने के लिए अनुरोध डिस्पैचर ऑब्जेक्ट का उपयोग कर रहे हैं

TestBean.java

पैकेज डिमोटेस्ट;आयात java.io.Serializable;सार्वजनिक वर्ग टेस्ट बीन लागू करता है सीरियल योग्य {सार्वजनिक स्ट्रिंग getEmail () {वापसी ईमेल;}सार्वजनिक शून्य सेटमेल (स्ट्रिंग ईमेल) {this.email = email;}सार्वजनिक स्ट्रिंग getPassword () {पासवर्ड वापस करें;}सार्वजनिक शून्य सेटपासवर्ड (स्ट्रिंग पासवर्ड) {this.password = पासवर्ड;}निजी स्ट्रिंग ईमेल = "अशक्त";निजी स्ट्रिंग पासवर्ड = "अशक्त";}

कोड की व्याख्या:

मॉडल परत:

कोड लाइन 7-17: इसमें ईमेल और पासवर्ड के गेटर्स और सेटर शामिल हैं जो टेस्ट बीन क्लास के सदस्य हैं

कोड लाइन 19-20: यह बीन क्लास में स्ट्रिंग प्रकार के सदस्यों के ईमेल और पासवर्ड को परिभाषित करता है।

Mvc_success.jsp

<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><% @ पृष्ठ आयात = "demotest.TestBean"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> गुरु सफलता <शरीर><%TestBean testguru = (TestBean) request.getAttribute ("गुरूबीन");out.print ("Welcome," + testguru.getEmail ());%>

कोड की व्याख्या:

कोड लाइन 12: हमें अनुरोध ऑब्जेक्ट का उपयोग करके विशेषता मिल रही है जिसे सर्वलेट के doPost विधि में सेट किया गया है।

कोड लाइन 13: हम स्वागत संदेश और ईमेल आईडी प्रिंट कर रहे हैं, जिसे सेम ऑब्जेक्ट में सहेजा गया है

आउटपुट:

जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्न आउटपुट मिलते हैं:

जब आप mvc_example.jsp पर क्लिक करते हैं तो आपको सबमिट बटन के साथ ईमेल और पासवर्ड के साथ फॉर्म मिलता है।

एक बार जब आप फार्म में ईमेल और पासवर्ड दर्ज करते हैं और फिर सबमिट पर क्लिक करते हैं

सबमिट पर क्लिक करने के बाद आउटपुट नीचे दिखाया गया है

आउटपुट:

जब आप स्क्रीन में ईमेल और पासवर्ड दर्ज करते हैं और फिर सबमिट पर क्लिक करते हैं, तो विवरण TestBean में सहेजे जाते हैं और TestBean से उन्हें सफलता संदेश प्राप्त करने के लिए अगली स्क्रीन पर लाया जाता है।

सारांश:

इस लेख में, हमने एमवीसी यानी मॉडल व्यू कंट्रोलर आर्किटेक्चर के बारे में सीखा है।

जेएसपी डेटा और नियंत्रक की प्रस्तुति की भूमिका निभाता है। यह मॉडल और दृश्य के बीच का इंटरफ़ेस है जबकि मॉडल नियंत्रक और डेटाबेस दोनों से जुड़ता है। मुख्य व्यावसायिक तर्क मॉडल परत में मौजूद है।