gpt4 book ai didi

tomcat - REST URL 映射不起作用(Grails 1.3.3、Tomcat6)

转载 作者:行者123 更新时间:2023-11-28 21:47:59 33 4
gpt4 key购买 nike

我是 Grails 的新手(但不是 Groovy 或网络开发的新手)。

我正在尝试编写一个接受 REST 请求的网络应用程序。我遇到的问题是,尽管遵循 - 据我所知 - 文档,但我仍然在点击我认为正确的 URL 时收到 404。

详情如下。

项目是全新的(使用Grails 1.3.3和支持1.3.3的Intellij IDEA 9.0.3)

一个非常简单的测试 Controller :

package com.myproject

class TestController {

def index = { }

def list = {
System.out.println("params = " + params);
}

def save = {
System.out.println("params = " + params);
}

}

以及同样的 URL 映射,试图将所有 GET 请求映射到 Controller 的 list() 方法。根据文档和 Grails in Action 一书,映射中的“测试” Controller 名称将映射到 TestController。

class UrlMappings {

static mappings = {

"/test" (controller: "test") {
action = [ GET: "list", POST: "save" ]
}

"/"(view:"/index")
"500"(view:'/error')
}

应用程序在 myapp 上下文中的 Tomcat6 中成功部署(展开)(我在根目录中有一个静态 html,我可以成功显示)。

apache-tomcat-6.0.28\webapps\myproject 的内容(如果重要的话)包含在下面。我剥离了不必要的东西。 Controller 类已部署,与 UrlMappings 类相同。

以下变体的所有 HTTP 请求

http://localhost:8080/myproject/test/list
http://localhost:8080/myproject/test/list/
http://localhost:8080/myproject/test/
http://localhost:8080/myproject/test

返回 404。要么是一个奇怪的错误,要么更可能是一个我看不到的简单错误。

感谢您的帮助。谢谢!

|   index.html
| mysql-connector-java-5.1.13-bin.jar
|
\---WEB-INF
| applicationContext.xml
| sitemesh.xml
|
+---classes
| | BootStrap$_closure1.class
| | BootStrap$_closure2.class
| | BootStrap.class
| | Config$_run_closure1.class
| | Config$_run_closure1_closure3.class
| | Config$_run_closure1_closure4.class
| | Config$_run_closure1_closure5.class
| | Config$_run_closure2.class
| | Config.class
| | resources$_run_closure1.class
| | resources.class
| | UrlMappings$__clinit__closure1.class
| | UrlMappings$__clinit__closure1_closure2.class
| | UrlMappings.class
| |
| +---com
| | \---myproject
| | TestController$_closure1.class
| | TestController$_closure2.class
| | TestController$_closure3.class
| | TestController.class
| |
| \---org
| \---grails
| \---tomcat
| ParentDelegatingClassLoader.class
| SearchFirstURLClassLoader.class
| TomcatLoader.class
| TomcatServer$_preStart_closure3.class
| TomcatServer$_preStart_closure3_closure5.class
| TomcatServer$_start_closure1.class
| TomcatServer$_start_closure1_closure4.class
| TomcatServer$_start_closure2.class
| TomcatServer.class
| TomcatServerFactory.class
|
+---lib
| catalina-ant.jar
| grails-tomcat-plugin-1.0.jar
| jasper-jdt.jar
| mysql-connector-java-5.1.13-bin.jar
| tomcat-dbcp.jar
| tomcat-jasper.jar
| tomcat-juli-adapters.jar
| tomcat-juli.jar
|
\---tld
grails.tld
spring.tld

最佳答案

它返回 404 错误,因为没有与任何操作关联的 View 。

应用程序没有任何内容要呈现...

更改 Controller 代码

class TestController {

def index = { }

def list = {
render("params = " + params);
}

def save = {
render("params = " + params);
}

}

你会看到一些输出

关于tomcat - REST URL 映射不起作用(Grails 1.3.3、Tomcat6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305672/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com