我如何在我的grails应用程序中使用servlet?

时间:2012-03-29 11:40:09

标签: grails

我需要使用一些实际上是servlet的连接器。我怎么能在Grails中做到这一点以及web.xml呢?如何配置servlet的url?

我实际上有一个Spring应用程序,我正在尝试将其转换为部分Grails应用程序。我在spring-app中有一个连接器servlet,我希望在这里使用,但映射是必须在gsp文件中调用servlet。我怎样才能做到这一点?我基本上需要知道在Grails的情况下xml文件的位置。

3 个答案:

答案 0 :(得分:8)

要获取web.xml文件,您可以运行:

grails install-templates

然后,可以在以下位置找到该文件:

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

像往常一样编辑它以添加<servlet><servlet-mapping>部分,然后将您的servlet代码放入:

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

你应该好好去

答案 1 :(得分:3)

如果你在grails-plugin中,那么你在*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/*')
        }
    }

答案 2 :(得分:-3)

好消息和坏消息,我以前在这里问过这个问题。使用spring应用程序,您可以拥有多个级别的URI,例如domain.com/abc/def/efg/abc vs grails,除了domain.com/controller/view之外,还有很多问题。这是我原始问题的链接:Grails URL mapping cause error on GSP

好消息是,你不需要处理XML映射,grails可以通过控制器和视图来实现。所以你几乎只限于domain.com/YouController/YourView/SomeParamteres ...但如果这就是你所需要的,你所要做的就是创建grails-app / Controller / SomethingController.groovy并且你自动拥有domain.com /东西