2012-03-29 66 views
5

我需要使用一些實際上是servlet的連接器。我如何在Grails中做到這一點,web.xml呢?如何配置servlet的url?如何在我的grails應用程序中使用servlet?

我其實在這裏有一個Spring應用程序,我試圖將它轉換成部分Grails應用程序。我在spring-app中有一個連接器servlet,我希望在這裏使用它,但映射必須在gsp文件中調用servlet。我怎樣才能做到這一點?我基本上需要知道在Grails情況下xml文件的位置。

+0

這個問題太板,u需要縮小你的問題是什麼不要的更具體的部分你不明白,你試過了什麼。 – Churk 2012-03-29 11:43:20

+0

@Churk感謝churk回覆我已經編輯了更具體的問題。 – 2012-03-29 11:49:56

回答

8

要獲得web.xml文件,你可以運行:

grails install-templates 

然後,該文件可以發現:

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

編輯這個像往常一樣加<servlet><servlet-mapping>部分,然後放入你的servlet代碼:

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

,你應該是好去

+0

謝謝,我試過這個,但由於某種原因,我得到一個404資源不avilable.I不知道爲什麼,而映射是完全相同的,在我的春天的應用程序,相同的映射完美的作品。文件夾結構是一樣的。我從我的gsp頁面調用了這個servlet。事實上,這個頁面是我的老式彈簧應用程序的一個html。 – 2012-03-30 02:26:43

+0

確保在grails dispatcher servlet之前放置servlet的url-mapping – vishesh 2017-10-25 06:28:28

-3

好消息和壞消息,我自己以前在這裏提過這個問題。使用Spring應用程序,您可以擁有多個級別的URI,例如domain.com/abc/def/efg/abc,而對於除了domain.com/controller/view以外的任何內容,grails都有許多問題。這裏是我原來的問題的鏈接:Grails URL mapping cause error on GSP

好消息是,你不需要處理XML映射,grails通過控制器和視圖無庸置疑。所以你幾乎侷限於domain.com/YouController/YourView/SomeParamteres ...但如果這就是你所需要的,所有你必須做的就是創建grails-app/Controller/SomethingController.groovy,並且你自動擁有domain.com /東西

3

如果你是一個Grails,插件中,那麼你有你的*GrailsPlugin.groovy,在哪裏做這種事情內的限定地點。例如。看看自動生成的關閉:

def doWithWebDescriptor = { xml -> 
    [] 
} 

在這裏你可以添加自定義的servlet的配置:

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/*') 
     } 
    } 
相關問題