我需要使用一些实际上是servlet的连接器。我怎么能在Grails中做到这一点以及web.xml呢?如何配置servlet的url?
我实际上有一个Spring应用程序,我正在尝试将其转换为部分Grails应用程序。我在spring-app中有一个连接器servlet,我希望在这里使用,但映射是必须在gsp文件中调用servlet。我怎样才能做到这一点?我基本上需要知道在Grails的情况下xml文件的位置。
答案 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 /东西