2011-12-20 15 views
5

यह वास्तव में एक सामान्य प्रश्न है।स्प्रिंग एमवीसी स्ट्रैट्स मिक्सिंग

मेरे पास एक ईकॉमर्स वेबपैप है जिसे मैंने लगभग 4 साल पहले एकल बनाया था। उस समय, मैंने स्ट्रैट्स का उपयोग अपने एमवीसी ढांचे के रूप में करने का निर्णय लिया। जैसे-जैसे वर्षों में अन्य परियोजनाओं पर काम करना पड़ा, मैं स्प्रिंग एमवीसी द्वारा पेश किए गए फीचर सेट और लचीलापन के साथ और अधिक आरामदायक महसूस करता हूं।

सेवा परत ठोस है, और वसंत ढांचे का उपयोग करके बनाया गया है।

अब मैं स्प्रिंग एमवीसी का उपयोग करने के लिए अपनी वर्तमान वेब परत को दोबारा प्रतिक्रिया देना चाहता हूं। लेकिन जैसा कि मैंने पहले उल्लेख किया है, मैंने ऐप एकल लिखा है और यह एक साइड प्रोजेक्ट है। मुद्दा यह है कि मेरे पास समय नहीं है, और न ही मैं फेंकने का जोखिम उठाना चाहता हूं और पूरी तरह से वेब परत को स्क्रैच से पुन: प्रस्तुत करना चाहता हूं।

तो मैं समुदाय से यह पूछ रहा हूं कि इस रणनीति के लिए उनकी रणनीति क्या होगी?

आदर्श रूप से, मैं एक समय में टुकड़ों से निपटना चाहता हूं, और आखिरकार दो प्रौद्योगिकियों को मिलाकर अंततः जब मैं स्ट्रेट्स को पूरी तरह से बंद कर सकता हूं।

मेरी साइट के लिए सभी नई कार्यक्षमता स्प्रिंग एमवीसी में सबसे अच्छी तरह विकसित की जाएगी।

अच्छी बात यह है कि मेरे मौजूदा विचार, जो वर्तमान में अपाचे टाइल्स का उपयोग कर रहे हैं, को स्ट्रैट्स टैग लाइब्रेरी को हटाने और उन्हें स्प्रिंग एमवीसी के साथ बदलने के अपवाद के साथ बहुत कुछ नहीं बदलना होगा।

एक आवश्यकता जो मैं रखना चाहता हूं वह यह है कि यूआरएल को नहीं बदला जाना चाहिए।

दूसरे शब्दों में, एक्शनसेर्लेट और डिस्पैचर सर्वलेट को अलग-अलग पथों पर नक्शा करना होगा लेकिन किसी भी तरह से विभिन्न कार्यान्वयन पर जाना होगा।

उदाहरण के लिए, मैं कैसे कह सकता हूं कि mysite.com/show-product मानचित्र एक स्प्रिंग डिस्पैचर सर्वलेट पर है, लेकिन mysite.com/show-category नक्शे स्ट्रेट्स एक्शन सर्वलेट में है।

आपके विचारों की सराहना की जाती है।

उत्तर

1

आप उन्हें उचित मैपिंग के साथ एक ही कंटेनर में चला सकते हैं।

मुझे यह समझ में नहीं आता है कि "क्या मैं कार्रवाई कक्षाओं को एक समय में वसंत नियंत्रकों में परिवर्तित कर सकता हूं", आप इसे और कैसे करेंगे?

चाहे किसी एक्शन क्लास को नियंत्रक की विधि से मैप करना चाहिए, किसी अन्य चीज़ की तुलना में आपके मौजूदा ऐप के संगठन के साथ अधिक कुछ करना है, या कम से कम आप स्प्रिंग ऐप को कैसे व्यवस्थित करना चाहते हैं।

+0

हाँ, मैं कार्रवाई कक्षाओं परिवर्तित नियंत्रकों वसंत के बारे में अपनी बात को समझते हैं, मैं लगता है कि वास्तव में नहीं था समझ में आता है ... मुझे भ्रम के लिए खेद है ... उन्हें एक ही कंटेनर में चलाने के संबंध में, अगर मुझे आवश्यकता हो कि यूआरएल को नहीं बदला जाना चाहिए ... इसके आसपास कोई रास्ता नहीं है? दूसरे शब्दों में, एक्शनसेर्लेट और डिस्पैचर सर्वलेट को अलग-अलग पथों पर सही नक्शा करना होगा? मुझे कुछ लिंक http://www.mysite.com/show-product (स्ट्रेट्स) और www.mysite.com/2.0/show-product (वसंत एमवीसी) सही होना होगा? –

+0

@ रॉयकाचौह निर्भर करता है; यह अधिक समस्याग्रस्त बनाता है कि आपको चुनिंदा रूप से S2 अनुरोध प्रसंस्करण को अक्षम करने की आवश्यकता होगी। यह S2.1.mumble से संभव है। आप एक कस्टम फ़िल्टर को फाइनल करने में सक्षम हो सकते हैं, या एक इंटरसेप्टर का भी उपयोग कर सकते हैं, हालांकि मुझे यकीन नहीं है कि इंटरसेप्टर यांत्रिकी कुछ इसके बारे में क्या सोच रहा होगा। –

+0

क्या आप इसके लिए कुछ समाधान ढूंढ पाए थे? – abhi

0

नहीं, आपको अपने कार्यों को फिर से लिखने की आवश्यकता नहीं है। यहाँ देखें:

http://docs.spring.io/spring/docs/3.1.x/spring-framework-reference/html/web-integration.html

के लिए "18.4 Apache Struts 1.x और 2.x" देखो

+0

स्ट्राट्स के साथ एकीकरण स्प्रिंग कोर के बारे में वह लेख, लेकिन स्प्रिंग एमवीसी और स्ट्रूट्स नहीं – D0dger

संबंधित मुद्दे