实际上,如果您在 url 中没有端口,则默认使用端口 80。apache http 服务器正常运行在此端口上。
对于运行在 tomcat 服务器上的 grails 应用程序,有两种不同的方法可以实现此目的。
- 更改 tomcat 服务器的端口(启动 grails 时使用 Dserver.port 参数)
grails -Dserver.port=80 run-app
- 或者使用 apache http 服务器作为您的 tomcat 服务器的代理。
http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.1/reference/TomcatBehindProxyServer.html
编辑:
对于 url 的第二件事。如果我的问题正确,您希望列表视图作为您的默认视图。为此,请使用以下 URL 映射(虽然没有测试):
static mappings = {
"/$controller" {
controller = "controller"
action = "list"
}
}
编辑2:
您只想查看操作而不是控制器名称。
"/$action"
{
controller = "yourController"
action = "action"
}
请注意这种方式对其他控制器前的所有索引操作。/controller 将无法正常工作,因为它希望您在家庭控制器中使用名称控制器进行操作。
编辑 3:您还可以为您希望在 url 中没有控制器名称的情况下访问的每个操作定义一个 url 映射。这样,动作就不必在您的家庭控制器中了。
前任
"/myAction"
{
controller = "yourController"
action = "myAction"
}