प्रौद्योगिकी साझेदारी

Spring Web MVC इत्यनेन सह आरम्भः

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

एतत् ब्लोग् पठित्वा भवान् किं ज्ञातुं शक्नोति?

  1. Spring Web MVC किम् इति अवगच्छन्तु
  2. Spring MVC कथं ज्ञातव्यम्
  3. सामान्यं Spring Web MVC एनोटेशनं अवगच्छन्तु

पाठ

Spring Web MVC इति किम् ?
  • उपाधितः अतीव अपरिचितसंज्ञा " " इति द्रष्टुं शक्नुमः ।वसन्त जाल MVC", एतत् पदं अतीव उच्छ्रितं ध्वन्यते, परन्तु तत् वस्तुतः किम्? एतत् आधिकारिकदस्तावेजात् व्याख्यानम् अस्ति:
    Spring Web MVC इति Servlet API इत्यत्र निर्मितं मूलजालरूपरेखा अस्ति तथा च आरम्भादेव Spring ढाञ्चे समाविष्टम् अस्ति । अस्य आधिकारिकं नाम "Spring Web MVC" अस्य स्रोतमॉड्यूलस्य (Spring-webmvc) नामतः आगतं, परन्तु प्रायः SpringMVC इति उच्यते
  • यदि भवान् न अवगच्छति तर्हि तस्य महत्त्वं नास्ति ।Spring Web MVC इति जालरूपरेखा अस्ति
    तथापि Spring MVC इति यथार्थतया अवगन्तुं आवश्यकं यत् MVC इति विचारः Model View Controller इति सॉफ्टवेयर-आर्किटेक्चर-डिजाइन-प्रतिमानः अस्ति ., view and controller त्रयः मूलभूताः भागाः, यथा अधोलिखिते चित्रे दर्शितम्
    अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
    एतेषां भागानां परिभाषां पृच्छितुं शक्नुवन्ति-
    • View (view) इति ब्राउजरेण सह अन्तरक्रियां कर्तुं तथा अनुप्रयोगे आँकडानां प्रदर्शनाय समर्पितं संसाधनं निर्दिशति।
    • मॉडल् अनुप्रयोगस्य मुख्यः भागः अस्ति तथा च कार्यक्रमे आँकडा तर्कस्य संसाधनार्थं उपयुज्यते।
    • नियन्त्रकं डिस्पैचररूपेण अवगन्तुं शक्यते, यस्य उपयोगः दृश्यतः अनुरोधानाम् संसाधनार्थं कस्य मॉडलस्य उपयोगः करणीयः इति निर्णयार्थं भवति, तथा च संसाधनानन्तरं कस्मिन् दृश्ये पुनः कूर्दितुं आवश्यकम् इति।दृश्यानि आदर्शानि च संयोजयितुं उपयोगाय सज्जाः

मुख्यप्रक्रिया अस्ति : View Controller -इत्यस्मै अनुरोधं प्रेषयति अस्मिन् समये Controller -इत्यस्य अन्तः चयनं भवति यत् चयनस्य अनन्तरं कः समाधानः (solution model) अनुरोधस्य समाधानं कर्तुं शक्नोति समस्या मॉडल् संसाधितस्य अनन्तरं Model प्रथमं प्रसंस्करणपरिणामान् नियन्त्रकं प्रति प्रत्यागमिष्यति, ततः नियन्त्रकः परिणामान् View प्रति प्रत्यागमिष्यति । एषा एमवीसी इत्यस्य मुख्यरूपरेखा समस्यानां समाधानार्थं विचारः च अस्ति ।

यथा भोजनार्थं भोजनालयं गमनम्
ग्राहकः भण्डारं प्रविष्टस्य अनन्तरं ग्राहकस्य आदेशं प्राप्तुं आगच्छति ततः परं ग्राहकस्य मेनू अग्रकार्यालयं समर्पयति, अग्रकार्यालयः ग्राहकस्य मेनू इत्यस्य आधारेण पाकशालायाः आदेशान् निर्गच्छति पाकस्य उत्तरदायी अस्ति तदनन्तरं मेनूनुसारं परिचारकं वदतु यत् एतत् मेज X इत्यत्र अतिथिस्य भोजनम् अस्ति।
अस्मिन् क्रमे
परिचारकः View अस्ति, यः ग्राहकानाम् आगमनस्य, ग्राहकानाम् भोजनस्य आदेशे सहायतां कर्तुं, ग्राहकानाम् भोजनं परोक्षितुं च उत्तरदायी अस्ति ।
अग्रकार्यालयः नियन्त्रकः अस्ति, यः उपयोक्तुः आदेशस्य स्थितिं आधारीकृत्य कस्य रसोईयाः आदेशं दातव्यमिति चयनं करोति ।
पृष्ठीयपाकशाला एव आदर्शः अस्ति, यः ग्राहकस्य भोजनस्य आवश्यकतां अग्रकार्यालयस्य आवश्यकतानुसारं पूरयति ।

  • सारांशतः: MVC एकः वास्तुशिल्पस्य डिजाइनस्य प्रतिमानः अस्ति तथा च एकः विचारः अस्ति, तथा च Spring MVC एकः MVC विचारस्य विशिष्टः कार्यान्वयनम् अस्ति तदतिरिक्तं, Spring MVC एकः Web framework अपि अस्ति ।
    सारांशेन Spring MVC इति Web framework अस्ति यत् MVC pattern कार्यान्वितं करोति
    यतः SpringBoot SpringMVC इत्यस्य विशिष्टं कार्यान्वयनम् अस्ति, अतः वयं ये परियोजनाः निर्मामः ते सामान्यतया SpringBoot भवन्ति । एतेन केभ्यः छात्रैः निर्मितः परियोजना SpringBoot इति अपि व्याख्यायते । Spring Boot अनेकानि आश्रयाणि योजयितुं शक्नोति, तथा च एतानि आश्रयाणि भिन्नानि कार्याणि कार्यान्वितुं उपयोक्तुं शक्नोति Spring Boot Spring WebMVC framework योजयित्वा जालकार्यं कार्यान्वितं करोति ।
  • यथा: पाकशाला पाककलायां उपयोक्तुं शक्यते, परन्तु वास्तविकं पाककार्यं अग्निः तथा च विविधाः पाकसम्बद्धाः सामग्रीः उपकरणानि च सन्ति पाकशाला भण्डारणकार्यं अलङ्कारं च साकारयितुं अलमारियाभिः सुसज्जितं कर्तुं शक्यते चूल्हाः इत्यादयः पाककला एमवीसी इति साक्षात्करोति सहस्राणि वर्षाणि पूर्वं पाककला अग्निना भोजनेन च प्राप्तुं शक्यते स्म तथापि यदा वसन्तः एमवीसी कार्यान्वितवान् तदा स्वस्य परियोजनानां लक्षणं अपि संयोजितवान्।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

  • भोजनस्य आदेशस्य उपर्युक्तस्य उदाहरणस्य आधारेण मुख्यः परिवर्तनः अस्ति यत् वयं प्रत्यक्षतया भोजनालयं प्रविश्य प्रत्यक्षतया अग्रभागे भोजनस्य आदेशं दातुं शक्नुमः, न तु प्रत्यक्षतया परिचारकं आहूय भोजनस्य आदेशं दातुं शक्नुमः।
Spring MVC कथं शिक्षितव्यम्?

Spring MVC किम् इति संक्षेपेण अवगत्य वयं Spring MVC कथं ज्ञातुं शक्नुमः इति प्रारम्भिकं अवगमनं कर्तुं शक्नुमः ।
यदा वयं Spring MVC ज्ञास्यामः तदा ब्राउजर् मार्गेण उपयोक्तृप्रोग्रामैः सह कथं संवादः कर्तव्यः इति ज्ञातुं केन्द्रबिन्दुः भवति ।
मुख्यतया निम्नलिखितत्रिषु पक्षेषु विभक्तः - १.

  1. संयोजनं स्थापयन्तु : उपयोक्तारं (ब्राउजरं) जावा प्रोग्रामं च संयोजयन्तु, अर्थात् पतां प्राप्तुं अस्माकं Spring प्रोग्राम् आह्वयितुं शक्यते ।
  2. अनुरोधः : उपयोक्ता अनुरोधं कुर्वन् केचन मापदण्डाः आनयिष्यति कार्यक्रमे भवन्तः मापदण्डान् प्राप्तुं मार्गं अवश्यं अन्वेष्टुम् अर्हन्ति, अतः अनुरोधभागः मुख्यतया मापदण्डान् प्राप्तुं कार्यं भवति ।
  3. प्रतिक्रिया : व्यावसायिकतर्कस्य निष्पादनस्य अनन्तरं कार्यक्रमनिष्पादनस्य परिणामः उपयोक्त्रे प्रत्यागन्तुं भवति, यत् प्रतिक्रिया अस्ति ।
सामान्य वसन्त जाल MVC टिप्पणी

प्रथमं वयं यत् शिक्षेम तत् संयोजनम्: तथा च Spring MVC एनोटेशन्स् संयोजनस्य महत्त्वपूर्णः भागः अस्ति । अतः मम ब्लोग्-रूपरेखायाः क्रमः निकटतया सम्बद्धः अस्ति प्रमुखाः विषयाः अद्यापि निकटतया सम्बद्धाः सन्ति हे, हे, क्षणं यावत्, अहं वास्तवमेव nb इति अनुभूतवान्। आवाम् विषयं प्रति गच्छामः, न पुनः विनोदः।

  • 1. URL routing mapping इत्यस्य कार्यान्वयनार्थं Spring MVC इत्यस्मिन् @RequestMapping इत्यस्य उपयोगं कुर्वन्तु, यत् प्रथमं कोड् कथं लिखितव्यम् इति अवलोकयामः ।
    अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु
    वयं तत् चालयित्वा ब्राउजर् मध्ये http://127.0.0.1:8080/hello इति URL प्रविशन्तु
    भवन्तः प्रभावं द्रष्टुं शक्नुवन्ति। यथा एतत् जालपुटं किमर्थं ठीकम् इति, भवद्भिः इदानीं अवगन्तुं आवश्यकता नास्ति, परन्तु भविष्ये भवतः अध्ययनं गभीरं भवति चेत् अवश्यमेव अवगमिष्यति ।
    प्रभावः इव अस्ति

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

  • नोट्: वयं द्रष्टुं शक्नुमः यत् मया src/main/java/com.example.j20240711 निर्देशिकायां सञ्चिका निर्मितवती । एकः सामान्यः आदतिः अस्ति यत् वयं src मध्ये सामान्यं business code लिखामः तथा च test code इत्येतत् text मध्ये लिखामः । यतः अहं IDEA2022.3.3 इत्यस्य व्यावसायिकसंस्करणस्य उपयोगं करोमि, केचन पृष्ठानि भवतः पृष्ठेभ्यः भिन्नानि भवितुम् अर्हन्ति, परन्तु सामान्यरूपरेखा समाना एव । वस्तुतः वयं Spring इति लिखितुं मानकसंस्करणस्य अपि उपयोगं कर्तुं शक्नुमः, परन्तु प्लग-इन्-इत्यस्य संस्थापनं अधिकं कष्टं भवति । मया कष्टं रक्षितुं व्यावसायिकसंस्करणं चितम् यदि भवान् व्यावसायिकसंस्करणस्य उपयोगं कर्तुम् इच्छति तर्हि CSDN इत्यत्र पाठ्यक्रमं अन्वेष्टुं शक्नोति यदि भवान् वास्तवमेव तत् चिन्तयितुं न शक्नोति तर्हि भवान् Xobao इत्यत्र गत्वा न्यूनमूल्येन एकं क्रेतुं शक्नोति। अतीव सस्तो अस्ति, अतः व्यावसायिकसंस्करणस्य अपि उपयोगं कर्तुं शक्नुवन्ति ।
    @RequestMapping Spring Web MVC अनुप्रयोगेषु सर्वाधिकं प्रयुक्तेषु एनोटेशनेषु अन्यतमम् अस्ति अस्य उपयोगः अन्तरफलकस्य मार्गस्य मानचित्रणस्य पञ्जीकरणार्थं भवति तस्य अर्थः अस्ति यत् यदा सेवा अनुरोधं प्राप्नोति तदा /sayHi इति मार्गेण सह अनुरोधः The code इति उच्यते अस्य विधिस्य हि वदन्तु।
    मार्ग-मानचित्रणम् : यदा उपयोक्ता URL (जालस्थल-सङ्केतः इति अवगन्तुं शक्यते) अभिगच्छति तदा कार्यक्रमे कस्यचित् वर्गस्य विधिं प्रति उपयोक्तुः अनुरोधस्य मैपिंग-प्रक्रिया मार्ग-मानचित्रणं कथ्यते
    सावधानाः छात्राः पश्यन्ति यत् उपर्युक्तं टिप्पणीं @RequestMapping तथा @RestController इत्येतयोः निष्कासनं करोति अतः अस्य एनोटेशनस्य किं उपयोगः? प्रथमं तं दूरीकर्तुं प्रयत्नः कर्तुं शक्नुमः।
    अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

भवन्तः द्रष्टुं शक्नुवन्ति यत् ४०४ दृश्यते, पृष्ठं च न लभ्यते ।

एतत् @RestController करोति ।
परियोजनायां बहवः वर्गाः भविष्यन्ति, तथा च प्रत्येकस्मिन् वर्गे बहवः मेथड्स् भवितुम् अर्हन्ति ।
Spring सर्वाणि वर्गाणि स्कैन करिष्यति यदि वर्गः @RestController इत्यनेन टिप्पणीकृतः अस्ति तर्हि Spring केवलं अस्मिन् वर्गे मेथड्स् पश्यति ।
किं भवता @RequestMapping एनोटेशनं योजितम्?अवश्यम्, एतत् प्रथमं तस्य उपयोगं कुर्मः, पश्चात् तस्य विषये विस्तरेण वदामः ।

  • @RequestMapping इत्यस्य भूमिका
    @RequestMapping क्लास् तथा मेथड् इत्येतयोः परिवर्तनं कर्तुं शक्नोति यदा अभिगम्यमानः पता वर्गमार्गः + मेथड् मार्गः भवति ।
    @RequestMapping एकं वर्गं चिनोति: मैपिंग-अनुरोधस्य अनुरोधमार्गस्य प्रारम्भिकसूचनाः सेट् करोति
    @RequestMapping एकं विधिं चिनोति: मैपिंग अनुरोध-अनुरोधमार्गस्य विशिष्टसूचनाः सेट् करोति
package com.example.j20240711;
//这两个包都是你人为加入注解自动导入的,不用过于关注
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RequestMapping("auto")//这是类路径
@RestController
public class TextApplication {
    @RequestMapping("hello")//这是方法路径
    //这里的方法名不一定非得是hello,可以换成其他的。
    public String hello(){
        return "hello";
    }
}
//因此我们访问的时候,使用的网址应该是:http://127.0.0.1:8080/auto/hello
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • सूचना:
    @RequestMapping इत्यस्य URL मार्गस्य पूर्वं / (slash) अथवा न भवितुं शक्यते यदा Spring कार्यक्रमः आरभ्यते तदा यदि / अग्रे नास्ति तर्हि Spring एकं / स्प्लिस करिष्यति ।
    सामान्यतया, वयं यः URL मार्गः / @RequestMapping योजयामः सः बहुस्तरीयः मार्गः अपि भवितुम् अर्हति यदा अन्ततः अभिगम्यते तदापि सः वर्गमार्गः + विधिमार्गः एव भवति, यथा:
    ,
    उपर्युक्तं मुख्यतया टिप्पणीद्वयं परिचययति वस्तुतः @RequestMapping इत्येतत् अद्यापि न व्याख्यातम् ।
    प्रथमं प्रश्नं पृच्छामि यत् यदि वयं ज्ञातुम् इच्छामः यत् एतत् एनोटेशनं get अथवा post समर्थयति वा इति तर्हि किम्?
    अस्मिन् समये अस्माभिः दत्तांशं प्रेषयितुं किञ्चित् अग्रे-अन्त-सङ्केतं लिखितव्यं तथा च सत्यापितव्यं यत् एतत् get अथवा post समर्थयति तथापि शुद्ध-पृष्ठ-अन्त-व्यक्तिं कृते अस्मिन् समये वयं न अवगच्छामः time, the software Postman प्रभावः प्रतिबिम्बितः भवति, अग्रिमः अंकः तस्य उपयोगस्य विषये वदिष्यति ।
    अग्रिमाङ्कस्य पूर्वावलोकनं: Postman इत्यस्य मुख्यप्रयोगं व्याख्यातव्यम्, तथा च Spring MVC: अनुरोधानाम् शिक्षणस्य द्वितीयः प्रमुखः बिन्दुः।