مقدمة في الربيع MVC
Spring MVC هو إطار ويب خفيف الوزن يعتمد على نموذج بنية MVC. والغرض من ذلك هو تعديل تطوير الويب ويفصل العمارة الكلية.
Spring MVC لديه المزايا التالية:
كجزء من إطار الربيع ، يتمتع بمزايا الربيع (IOC ، AOP ، إلخ)
يدعم تعيين وحدة تحكم من عنوان URL إلى صفحة
توفير آليات مرنة للبيانات وتنسيقها وربط البيانات
دعم نمط المريح
عملية طلب الربيع MVC
عملية الطلب الإجمالية لإطار الربيع MVC هي كما يلي:
يتضمن الشكل أعلاه عدة مكونات وظيفية لـ Spring MVC:
وحدة التحكم في الواجهة الأمامية (Dispatcherservlet): تلقي طلب المستخدم وإرجاع نتيجة الطلب. تعادل وظيفتها معالجًا مركزيًا أو معالجًا مركزيًا ، والذي يتحكم في عملية التنفيذ بأكملها ، وتحديد مكونات مختلفة وتقليل الاقتران بين المكونات.
تعيين المعالج: ابحث عن معالج المعالج المقابل بناءً على عنوان URL الذي طلبه المستخدم ، من خلال التعليق التوضيحي أو تكوين XML.
محول المعالج: أكمل المكالمة إلى الطريقة في المعالج بناءً على المعالج الموجود بواسطة Mapper
المعالج: المنطق المحدد لمعالجة الطلب وإرجاع البيانات وعرض المعلومات
View Resolver: يتم تحليل العرض المحدد ، ويقوم بتوزيع اسم العرض المنطقي في عرض حقيقي من خلال معلومات العرض في كائن ModelandView.
شرح مفصل للخطوات المحددة لعملية الطلب:
1: يبدأ المستخدم طلبًا ، وسيتم اعتراض الطلب بواسطة وحدة التحكم في الواجهة الأمامية (Dispatcherservlet)
2: وحدة التحكم في الواجهة الأمامية (Dispatcherservlet) طلب معالج Mapper (معالجة) للعثور على معالج
3: يجد Mapper المعالج (معالجة) المعالج المقابل وفقًا للتكوين (يمكن أن يكون أكثر شرحًا أو تكوين XML) ، والذي قد يحتوي على اعتراضات متعددة معتدلات وإعادتها إلى وحدة التحكم في الواجهة الأمامية.
4: تطلب وحدة التحكم في الواجهة الأمامية (Dispatcherservlet) محول المعالج (HandlerAdapter) لتنفيذ المعالج المقابل
5: يتم تسليم المحول إلى معالج المعالج المقابل للتنفيذ
6: بعد تنفيذ معالج المعالج ، أعد كائن ModelandView إلى محول المعالج
7: يقبل محول المعالج نتيجة الإرجاع لمعالج المعالج ويعيد النتيجة إلى وحدة التحكم في الواجهة الأمامية (Dispatcherservlet)
8: يتلقى وحدة التحكم في الواجهة الأمامية (Dispatcherservlet) المعلومات وعرض المعلومات التي يتم إرجاعها بواسطة محول المعالج ، وتطلب محلل العرض ، ويقوم بتحليل العرض المقابل
9: يعود محلل العرض إلى وحدة التحكم في الواجهة الأمامية بناءً على نتيجة العرض المقابلة التي تتطابق مع معلومات العرض.
10: يستقبل وحدة التحكم في الواجهة الأمامية طريقة العرض المحددة ، مما يجعل العرض ، يملأ بيانات النموذج في طريقة العرض ، وينشئ العرض النهائي
11: تقوم وحدة التحكم في الواجهة الأمامية بإرجاع النتيجة إلى المستخدم
بناء العروض التوضيحية من الصفر
إنشاء مشروع:
قم بإنشاء مشروع ديناميكي جديد تحت Eclipse
هيكل الدليل الافتراضي للمشروع:
أضف تبعيات حزمة الجرة
استيراد حزمة JAR المقابلة ضمن مجلد WebContent> web-inf> lib ، حيث تكون حزمة jar الأساسية هي spring-webmvc-5.0.0.release.jar ، والآخرون ينبعون بشكل أساسي لإدارة السياق وحزم الفاصوليا ، ومكتبة علامة JSTL وحزمة سجل للطباعة:
تكوين وحدة التحكم في الواجهة الأمامية في web.xml
تعادل وحدة التحكم في الواجهة الأمامية Servlet الخاصة بـ Spring MVC ، وتستخدم لاعتراض جميع الطلبات المؤهلة وتسليمها إلى إطار المعالجة اللاحقة.
<؟ XSI: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns id = "webapp_id" version = "3.1"> <!-تكوين وحدة تحكم الواجهة الأمامية-dispatchservlet-> <vervlet> <Servlet-name> springmvcnext </servlet-name> <-servlet-class> org.springframework.web.servlet.dispatcherservlet </ervelslet-class> <! إذا لم يتم تكوين ContextConfigLocation ، يتم تفاؤل ملف التكوين الخاص بـ springMVC إلى: web-inf/servlet name+"-servlet.xml"-> <INIT-PARAM> <PARAM-NAME> CONTEXTCONFIGLOCATION </IRD-NAME> <PARAM-VALUE> classpath <Sradlet-Name> springmvcnext </servlet-name> <url-pattern>/</url-pattern> <!-طلبات التقاطع التي أرسلها المستخدمون وفقًا للقواعد التي حددها عنوان URL. يتم اعتراض جميع الطلبات هنا ، بما في ذلك الموارد الثابتة-> </servlet mapping> </web-app>
قاعدة مطابقة عنوان URL المحددة في علامة <servlet> mapping> في شكل يتوافق مع *. علامة <Ing-param> هي المعلمة التي تعتمد عليها وحدة التحكم الحالية. تمثل المعلمتان معلمات السياق ومسار تحميل المعلمة على التوالي.
حول classpath: يمثل مسار الإخراج بعد تجميع مشروع الويب
تكوين تكوين الربيع MVC
إضافة ملف ApplicationContext.xml في دليل رمز مصدر Java
محتوى محدد:
<؟ xmlns: p = "http://www.springframework.org/schema/p" http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/mvc http://www.springframework.org/schema/context/spring-context.xsd "> <!-سيتم استخدام علامة الماسح الضوئي للحزمة لتنشيط وظيفة مسح شرح MVC Spring MVC ، مما يسمح بالتعليقات التعليقات التوضيحية مثل controller و requestmapping. -> <سياق: مكون المسح الضوئي package = "com.sl.controller" /> <!-برنامج تشغيل التعليقات التوضيحية-> <mvc: endarive-diven /> <!-تكوين view resolver-> <bean id = "internalResourceViewResolver"> <propertix "value =" </bean> </bans>
أضف وحدة التحكم وعرض العرض
أضف الحزمة com.sl.controller في دليل SRC ، وأضف رمز وحدة التحكم على النحو التالي:
حزمة com.sl.controller ؛ استيراد org.springframework.stereotype.controller ؛ استيراد org.springframework.web.bind.annotation.requestmapp ؛ // التعامل مع جميع الطلبات في مسار عنوان URL بدءًا من /فهرس: بما في ذلك /index /* و /index.html modelandview HelloWorld () {String Message = "Hello Spring MVC" ؛ إرجاع New ModelAndView ("INDEX" ، "Message" ، Message) ؛ }}إضافة عرض ملف index.jsp في web-inf/view
<html> <head> <title> spring mvc </title> </head> <body> $ {message} </body> </html>نتائج التشغيل:
لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.