我已将我的应用程序部署到运行 tomcat6 的 ubuntu 服务器。我通过 WAR 文件进行了部署,并将其重命名为 ROOT。当我转到基本 url 时,出现 404 错误,提示找不到“index.jsp”。我在 grails FAQ 网站上发现,这意味着它已经尝试查找 gsp 但无法找到它——但是,我已经在提取的 war 中验证它确实存在。
我的默认设置指向调用 index()
的 HomeController,并且在 View 中是一个相应的 /home/index.gsp
解压后的 WAR 文件夹下。
现在要增加一些困惑,我有另一个 Controller ContactController
和相同的 View 设置(即 Contact/index.gsp),那个 可以工作!事实上,在我拥有的 5 个 Controller 中,它是唯一一个可以明显找到 View 的 Controller ,即使每个 View 在各自的 View 文件夹中都被命名为 index.gsp
。
我不确定它是否与应用程序本身有关,因为它使用 run-app 运行(尽管我当然不会排除这种可能性)。我的猜测是它与服务器相关,但所有文档都说将 WAR 简单地放入 /webapps/
目录并重新启动。
有什么建议吗?
更新:UrlMappings.groovy
:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/"(controller:"home", action:"index")
"500" (view: '/error')
}
}
错误正是:
The requested resource (/WEB-INF/grails-app/views/home/index.jsp) is not available
最佳答案
我们最近遇到了这个问题。确保您的 Controller 位于与目录结构相对应的正确包中。
例如:
package com.mypackage
class HomeController {
def index = {
}
}
在 ./grails-app/controllers/com/mypackage 中。
关于tomcat - Grails 部署到 tomcat,只有一些链接有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11461490/