مقدمة موجزة للوحدات الرئيسية السبع لإطار الربيع
شرح مفصل لرمز وحدة MVC في الربيع
تُستخدم وحدة الويب الخاصة بـ Spring لدمج أطر عمل الويب ، مثل Struts1 ، STRUTS2 ، JSF ، إلخ.
دمج الدعامات 1
طريقة الميراث
يوفر إطار Spring Framework فئة Actionupport لدعم عمل Struts1. بعد وراثة الإجراءات ، يمكنك الحصول على Beanfactory في Spring ، وبالتالي الحصول على موارد مختلفة في مختلف حاويات الربيع.
استيراد org.springframework.web.struts.ActionSupport ؛ يمتد معامل Cats Public Class Actionupport {public icatservice getCarService () {return (icatservice) getWebApplicationContext (). getBean ("CatService") ؛ } الإجراء العام تنفيذ (ActionMappingMapping ، نموذج الإجراء ، طلب httpservletrequest ، httpservletresponsesponse) {catform catform = (catform) ؛ if ("list" .equals (catform.getAction ())) {returnthis.list (Mapping ، form ، request ، response) ؛ }} قائمة الإجراءات العامة (ActionMappingMapping ، نموذج الإجراء ، طلب httpservletrequest ، httpservletresponsesponse) {catform catform = (catform) ؛ icatservice catservice = getCatservice () ؛ قائمة <cat> catlist = catservice.listcats () ؛ request.setAttribute ("carlist" ، catlist) ؛ إرجاع mapping.find ("قائمة") ؛ }}تكوين الربيع في web.xml
<context-param> <!-موقع ملف تكوين الربيع-> <Param-name> contextConfigLocation </param-name> <param-value> /web-inf/classes/applicationcontext.xml </param-value> </suctext-param> org.springframework.web.context.contextloaderListener </beader-class> </stanker> <filter> <!-باستخدام مرشح حرف Spring-> <filter-name> distaryencodingfilter </filter-name> <lipter-class> arg.springframework.web.filter <IRIT-PARAM> <PARAM-NAME> الترميز </param-name> <Param-value> utf-8 </parm-value> </IPAR <filter-name> nareferencodingfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
إذا تم استخدام
<iliter> <ilter-name> hibernatefilter </filter-name> <filter-class> org.springframework.orm.hibernate3.support. OpenSessionInViewFilter </filter-class> </filter> <filter-mapping> <filter-name> hibernatefilter </filter-name> <url-pattern>*.
طريقة الوكيل
يعد دمج طريقة الميراث في فصل الربيع أمرًا بسيطًا للغاية ، ولكن العيب هو أن الكود مقترن بالربيع ، ولا يتم تسليم الإجراء إلى الربيع للإدارة ، لذلك لا يمكن استخدام ميزات AOP و IOC في Spring. يمكن أن يؤدي استخدام طريقة الوكيل إلى تجنب هذه العيوب.
يمتد معامل Cats Class العام الإجراء {// Action icatservice catservice الموروثة هنا هو خدمة Catservice ؛ // Setter و Getter Action Public Saceforward بشكل طفيف (ActionMappingMapping ، نموذج ActionForm ، طلب httpservletrequest ، httpservletresponsponse) {catform catform = (catform) ؛ if ("list" .equals (catform.getAction ())) {returnthis.list (Mapping ، form ، request ، response) ؛ }} قائمة الإجراءات العامة (ActionMappingMapping ، نموذج الإجراء ، طلب httpservletrequest ، httpservletresponsponse) {catform catform = (catform) ؛ icatservice catservice = getCatservice () ؛ قائمة <cat> catlist = catservice.listcats () ؛ request.setAttribute ("carlist" ، catlist) ؛ إرجاع mapping.find ("قائمة") ؛ }}لا يقترن هذا الإجراء بربيع ، ولكنه يحدد خاصية icatservice ، والتي يتم حقنها بعد ذلك بحلول الربيع
تكوين Struts-congfig.xml
<Form-beans> <form-bean name = "catform" type = "com.clf.spring.catform"> </form-beans> <action-mappings> <action name = "catform" path = "/cat" type = "com.clf.spring.cataction"> <forward name = "path =" jsp/listcat.js معظم التكوينات الأساسية ، التي تسلم إجراء الدعامات إلى وكيل الربيع-> <controller processorclass = "org.springframework.web.struts.dlegatingRequestProcessor" /> <!-بعد أن تدخل تكوين وحدة التحكم ، يتم استخدام خاصية النوع للإجراء. لن تستخدم الدعامات الفئة المحددة بواسطة خاصية Type لإنشاء معامل قطة ، ولكن البحث في تكوين الربيع. لذلك ، يجب تهيئة معامل Cat في الربيع-> <!-يستخدم الإجراء في الربيع خاصية الاسم بدلاً من المعرف. سيقوم الربيع بإعداد طلب "/cat.do" ، حقن الخدمات القطط في معلم القطة من خلال طريقة setter ، واتصل طريقة التنفيذ () -> <bean name = "/cat"> <property name = "catservice" ref = "catservice"/> </bean>
تكوين web.xml هو نفس طريقة الميراث أعلاه.
يمكن أن يؤدي استخدام إجراء طريقة الوكيل إلى تكوين ميزات الربيع مثل التقاطعات ، مثل تكوين معامل القطة قبل وبعد التقاطعات بعد الطريقة
<bean id = "catbeforeInterceptor"> <property name = "explox"> <bean/> </property> <property name = "mappedName" value = "*"> </propect name = "interceptOrnames"> <list> <value> catbeForeInterceptor </value> <value> catafterInterceptor </value> </list> </spertar
دمج الدعامات 2
يدمج Spring STRUTS 2 يتطلب Struts2-SPRING-2.011.JAR PACKING
الطبقة العامة Catcate {Private Icatservice Catservice ؛ القط القط الخاص // Setter and Getter Public String List () {catService.ListCats () ؛ إرجاع "قائمة" ؛ } سلسلة عامة add () {catservice.createcat (cat) ؛ قائمة الإرجاع () ؛ }}تكوين struts.xml
بالإضافة إلى التكوين العادي ، تحتاج أيضًا إلى إضافة Struts.ObjectFactory ثابت وتعيين القيمة على الربيع للإشارة إلى أن الإجراء يتم إنشاؤه بحلول الربيع. ثم قم بتغيير سمة الفئة من <Action/> إلى معامل Cat ، ستبحث Struts2 عن حبة تدعى Catchet في فصل الربيع.
<name constant = "struts.objectfactory" value = "spring"/> <packagenamePackageName = "cat" تمدد = "struts-default"> <action name = "*_ cat" method = "{1}"> <param name = "action"> {1} </param> <stred> /list. </cream>تكوين الربيع
<bean id = "cateaction" scope = "prototype"> <property name = "catservice" ref = "catservice"> </spertar
web.xml التكوين
<context-param> <!-موقع ملف تكوين الربيع-> <Param-name> contextConfigLocation </param-name> <param-value> /web-inf/classes/applicationcontext.xml </param-value> </suctext-param> org.springframework.web.context.contextloaderListener </stanterer-class> </stanker> <lipter> <iliter-name> struts2 </filter-name> </filter-class> org.apache.struts2 Struts2 </filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
لخص
ما سبق هو كل التفسير التفصيلي لتكوين وحدة الويب الخاصة بـ Spring ، وآمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها.
الرجوع إلى:
مناقشة موجزة حول مشكلة قفز الصفحة في springMVC
مشاركة العرض التوضيحي لـ Spring AOP
Spring Framework Web Projec