Я новичок в Grails (но не в Groovy или в веб-разработке).
Я пытаюсь написать веб-приложение, которое принимает запросы REST.Проблема, с которой я столкнулся, заключается в том, что, несмотря на следующую - насколько я могу судить - документацию, я все равно получаю 404 секунды, когда нажимаю, как мне кажется, правильный URL-адрес.
Подробности заключаются в следующем.
Проект совершенно новый (используется Grails 1.3.3 и Intellij IDEA 9.0.3, который поддерживает 1.3.3)
Очень простой тестовый контроллер:
package com.myproject
class TestController {
def index = { }
def list = {
System.out.println("params = " + params);
}
def save = {
System.out.println("params = " + params);
}
}
и сопоставление URL, пытаясь сопоставить все запросы GET с методом list () контроллера.Согласно документации и книге Grails in Action, имя «тестового» контроллера в сопоставлении будет сопоставлено с TestController.
class UrlMappings {
static mappings = {
"/test" (controller: "test") {
action = [ GET: "list", POST: "save" ]
}
"/"(view:"/index")
"500"(view:'/error')
}
}
Приложение успешно развернуто (взорвано)в Tomcat6 в контексте myapp (у меня есть статический HTML в корне, который я могу успешно отобразить).
Содержимое apache-tomcat-6.0.28 \ webapps \ myproject (если оно имеет значение) включено ниже.Я снял ненужные вещи.Класс контроллера развернут, то же самое для класса 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