في عملية تعلم الربيع MVC ، من الضروري أولاً فهم العديد من المعلمات الرئيسية:
controller:
مشروحًا في الفصل ، ستقوم هذه الفئة ببرمجة وحدة تحكم ، وعندما يبدأ المشروع في الربيع ، سيقوم تلقائيًا بالمسح الضوئي لهذه الفئة وإجراء تعيين توجيه URL المقابل.
controllerpublic class useraction {} requestmapping
حدد مسار تعيين عنوان URL. إذا تم تكوين REQUESTMAPPE على وحدة التحكم ، فإن طريقة الطلب المحددة تقوم أيضًا بتكوين المسار. المسار المعين هو تراكب المسارين. خرائط شائعة الاستخدام مثل: requestmapping ("url.html")
تكوين مسار التعيين:
controllerpublic class useraction { @requestmapping (value = "/get_alluser.html") publicandview getAlluser (string id) {}} رسم خرائط التكوين أعلاه
http: // ***: 8080: web1/get_alluser.html:
إذا قمت بإضافة @requestmapping (value = "/user") إلى controller ، يصبح مسار الخريطة
http: // ***: 8080: web1/user/get_alluser.html
ResponseBody
إرجاع السلسلة المقابلة لطريقة التعليقات التوضيحية مباشرة
requestparam
قم بتخطيط المعلمات المقابلة لعنوان URL تلقائيًا إلى القيم أعلى من الإجراء ، وطلب الافتراضات الافتراضية بالمعلمات المطلوبة.
pathvariable
احصل على معلمات تعيين عنوان URL للتنسيق المحدد لتكوين requestmapping
/ * * الإخراج المباشر html ، أو سلسلة JSON * مسار الطلب: * /web1/urlinfo/getcontent.html؟key=rhythmk * /web1/urlinfo/getcontent.json؟key=rhythmk */ @responsebody requestmapping (valueC. المفتاح ، requestparam (value = "key2" ، مطلوب = false ، defaultValue = "defaultValue") string key2) {system.out.println ("getContent يسمى") ؛ String Result = "Return Content مباشرة - المفتاح:" + KEY + "، key2:" + key2 ؛ System.out.println (نتيجة) ؛ نتيجة العودة }/ * * * requestmapping يدعم تكوين url على طراز Ant-style: * المسار طلب: */urlinfo/geturlant/config.html؟key=adddd */responsebody @requestmapp request.getquerystring () ؛ نتيجة العودة }
/ * * قم بتكوين عنوان URL للتنسيق المحدد والخريطة إلى المعلمات المقابلة * مسار الطلب: /WEB1/URLINFO/GETURLPARAM/12_123.HTML * */ @REQUESTMAPP @pathvariable ("Menuid") String Menuid) {modelandview mode = new ModelAndView (ShowMsG) ؛ mode.addobject ("msg" ، "geted id:" + id + "، menuid:" + menuidid) ؛ وضع الإرجاع ؛ } /** يتم استلام طلبات النشر فقط*/responsebody @rquestmapping (value = "/posturl.html" ، method = requestMethod.post) urlmethod urlmethod ( @requestparam string) {return "طلب آخر ، تم الحصول على المعرف:" + id ؛ } / * * كتابة ملفات تعريف الارتباط * */ @REQUESTMAPPE ("/writeCookies.html") publicandview writeCookies ( @requestparam قيمة سلسلة ، httpservletresponse) ModelandView Mode = New ModelAndView (ShowMsG) ؛ mode.addobject ("msg" ، "ملفات تعريف الارتباط مكتوبة بنجاح") ؛ وضع الإرجاع ؛ } / * * احصل على قيمة المفتاح المقابلة من خلال @cookievalue * */ @requestmapping ("/getCoOkies.html") ModelandView GetCoOkie ( @cookievalue ("key") string cookvalue) {modelandview mode = new modelandview (showmsg) ؛ mode.addobject ("msg" ، "cookies =" + cookvalue) ؛ وضع الإرجاع ؛ } / * * تمرير واجهة برمجة تطبيقات servlet كمعلمة في * يمكنك استخدام httpservletresponse مباشرة في الإجراء ، httpservletrequest * */ @requestmapping ("/servlet.html") السلسلة العامة servlet1 (httpservleresponse response ، httpservletrequest) ModelandView Mode = new ModelAndView () ؛ mode.addobject ("msg" ، "result =" + result.toString ()) ؛ إرجاع Showmsg ؛ } ) "معرف المستخدم:" + user.getuserId (). toString () + "، اسم المستخدم:" + user.getUserName (). ModelandView Mode = New ModelAndView (ShowMsG) ؛ mode.addobject ("msg" ، "result =" + result.toString ()) ؛ وضع الإرجاع ؛ } تنفيذ قفزة الصفحة:
/ * * تنفيذ الصفحة jump * /web1/urlinfo/redirectpage.html * */ @REquestMapping ("/redirectpage.html") السلسلة العامة redirectpage () {return "redirect: getCoowies.html؟ r = 10" ؛ } إرجاع JSON مباشرة
يجب أن ينتهي عنوان URL المطلوب في .json ، وإلا استثناء
فشل تحميل المورد: استجاب الخادم بحالة 406 (غير مقبول): المورد الذي تم تحديده في هذا الطلب قادر فقط على توليد الاستجابات مع الخصائص غير مقبولة وفقًا لطلب "قبول" الرؤوس ()
كيان العودة:
jsonserialize (include = jsonserialize.inclusion.non_null) الفئة العامة userInfo {private integer userid ؛ عدد صحيح عام getUserId () {return userId ؛ } public void setUserId (integer userId) {userId = userId ؛ } السلسلة العامة getUserName () {return username ؛ } public void setUserName (string username) {username = username ؛ } اسم المستخدم الخاص بالسلسلة الخاصة ؛ }إرجاع العمل
responseBodyRequestMapping ("/getUser.json") userInfo getUser () {system.out.println ("getUser") ؛ نموذج userInfo = جديد userInfo () ؛ model.setuserid (100) ؛ model.setUserName ("Wang Kun") ؛ نموذج الإرجاع ؛ } بسأل:
/web1/urlinfo/getuser.json
الإخراج:
{"UserId": 100 ، "اسم المستخدم": "Wang Kun"}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.