2012-03-29 12 views
5

मुझे कुछ कनेक्टरों का उपयोग करने की आवश्यकता है जो वास्तव में सर्वलेट हैं। मैं Grails में और web.xml के बारे में क्या कर सकता हूं? मैं सर्वलेट के यूआरएल को कैसे कॉन्फ़िगर कर सकता हूं?मैं अपने grails ऐप में servlet का उपयोग कैसे करूं?

मेरे पास वास्तव में एक स्प्रिंग एप्लिकेशन है और मैं इसे आंशिक Grails ऐप में बदलने की कोशिश कर रहा हूं। मेरे पास वसंत-एप में एक कनेक्टर सर्वलेट है, जिसे मैं यहां उपयोग करना चाहता हूं लेकिन मैपिंग जीएसपी फ़ाइल में सर्वलेट को कॉल करना जरूरी है। मैं यह कैसे कर सकता हूँ? मुझे मूल रूप से यह जानने की जरूरत है कि Grails के मामले में xml फ़ाइल कहां है।

+0

यह सवाल भी बोर्ड, यू आप क्या डॉन के लिए और अधिक विशिष्ट भाग सवाल को कम करने की जरूरत है है आप समझ नहीं पाए, आपने क्या किया। – Churk

+0

@Churk धन्यवाद उत्तर के लिए चिर्क धन्यवाद मैंने प्रश्न को और अधिक विशिष्ट बनाने के लिए संपादित किया है। –

उत्तर

8

web.xml फ़ाइल पाने के लिए आपको चला सकते हैं:

grails install-templates 

फिर, फाइल में पाया जा सकता है:

<yourapp>/src/templates/war/web.xml 

संपादित इस हमेशा की तरह <servlet> और <servlet-mapping> अनुभाग जोड़ने के लिए, फिर अपना सर्वलेट कोड डालें :

<yourapp>src/java/your/package/structure/WhateverServlet.java 

और तुम जाना

+0

धन्यवाद, मैंने कोशिश की लेकिन किसी कारण से मुझे 404 संसाधन उपलब्ध नहीं हैं। मुझे नहीं पता क्यों, और मैपिंग बिल्कुल मेरे वसंत आवेदन में एक जैसा है जहां एक ही मानचित्रण पूरी तरह से काम करता है। फ़ोल्डर संरचना एक ही है। मैं इस सर्वलेट को अपने जीएसपी पेज से जावास्क्रिप्ट में बुला रहा हूं। वास्तव में यह वही पृष्ठ मेरे पुराने वसंत आवेदन के मामले में एक HTML है। –

+0

grails dispatcher servlet से पहले अपने सर्वलेट के यूआरएल-मैपिंग को सुनिश्चित करना सुनिश्चित करें – vishesh

-3

अच्छी खबर और बुरी खबर, और मैंने स्वयं पहले इस प्रश्न से पूछा है। वसंत आवेदन के साथ आप डोमेन.com/contc/def/efg/abc बनाम grails के कई स्तरों के साथ डोमेन.com/controller/view से परे कुछ भी समस्या हो सकती है। यहां मेरे मूल प्रश्न का एक लिंक है: Grails URL mapping cause error on GSP

अच्छी खबर यह है कि आपको एक्सएमएल मैपिंग से निपटने की ज़रूरत नहीं है, grails इसे नियंत्रकों और विचारों से प्रतीत होता है। तो आप लगभग डोमेन.com/YouController/YourView/SomeParamteres तक सीमित हैं ... लेकिन अगर आपको इसकी आवश्यकता होगी, तो आपको केवल Grails-app/Controller/SomethingController.groovy बनाना है और आपके पास स्वचालित रूप से domain.com है/कुछ

3

आप एक grails-प्लगइन के भीतर कर रहे हैं अच्छा होना चाहिए, तो आप एक परिभाषित जगह अपने *GrailsPlugin.groovy, जहां इस तरह के काम करने के लिए के भीतर है। जैसे स्वचालित रूप से जेनरेट बंद को देखो:

def doWithWebDescriptor = { xml -> 
    [] 
} 

यहाँ आप अपने कस्टम सर्वलेट विन्यास जोड़ सकते हैं:

def servlets = xml.'servlet' 
    servlets[servlets.size() - 1] + { 
     servlet { 
      'servlet-name'('yourName') 
      'servlet-class'('yourpackage.YourClass') 
     } 
    } 

    def mappings = xml.'servlet-mapping' 
    mappings[mappings.size() - 1] + { 
     'servlet-mapping' { 
      'servlet-name'('yourName') 
      'url-pattern'('/yourPattern/*') 
     } 
    } 
संबंधित मुद्दे