java web mvc-08-Grails 入门介绍

拓展阅读

Spring Web MVC-00-重学 mvc

mvc-01-Model-View-Controller 概览

web mvc-03-JFinal

web mvc-04-Apache Wicket

web mvc-05-JSF JavaServer Faces

web mvc-06-play framework intro

web mvc-07-Vaadin

web mvc-08-Grails

开源

The jdbc pool for java.(java 手写 jdbc 数据库连接池实现)

The simple mybatis.(手写简易版 mybatis)

入门例子

2.1 安装要求

在安装 Grails 之前,您需要安装一个带有下表中最低版本的 Java 开发工具包(JDK)。

下载适用于您操作系统的相应 JDK,运行安装程序,然后设置一个名为 JAVA_HOME 的环境变量,该变量指向此安装的位置。

Grails 版本 JDK 版本(最低)
6 11

5 8

为了自动化 Grails 的安装,我们推荐使用 SDKMAN,该工具大大简化了安装和管理多个 Grails 版本的过程。

在某些平台上(例如 macOS),Java 安装会被自动检测。然而,在许多情况下,您可能希望手动配置 Java 的位置。例如,如果您使用的是 bash 或 Bourne Shell 的其他变体:

export JAVA_HOME=/Library/Java/Home
export PATH="$PATH:$JAVA_HOME/bin"

在 Windows 上,您需要在“我的电脑/高级/环境变量”中配置这些环境变量。

2.2 下载和安装

启动使用 Grails 的第一步是安装发行版。

在 *nix 系统上,使用 SDKMAN 是安装 Grails 的最佳方式,该工具大大简化了安装和管理多个 Grails 版本的过程。

使用 SDKMAN 安装

要使用 SDKMAN 安装最新版本的 Grails,请在终端上运行以下命令:

sdk install grails

您还可以指定一个版本

sdk install grails 6.1.1

有关 SDKMAN 使用的更多信息,可以参阅 SDKMAN 文档。

2.3 创建应用程序

要创建一个 Grails 应用程序,首先需要熟悉使用 grails 命令,该命令的使用方式如下:

grails <<命令名称>>

运行 create-app 命令创建应用程序:

grails create-app myapp

这将在当前目录内创建一个包含项目的新目录。在控制台中导航至此目录:

cd myapp

2.4 使用 Grails 创建简单的 Web 应用程序

改进此文档
步骤 1:创建一个新项目
打开你的命令提示符或终端。

导航到你想创建 Grails 项目的目录:

$ cd 你的项目目录

使用以下命令创建一个新的 Grails 项目:

$ grails create-app myapp --servlet=tomcat

使用 --servlet 选项并设置值为 “tomcat” 指定 Grails 应用程序应配置为使用嵌入式的 Tomcat Servlet 容器作为其运行时环境,允许你在开发和测试过程中将应用程序作为独立可执行文件运行。

步骤 2:访问项目目录
切换到刚刚创建的 “myapp” 目录:

$ cd myapp

步骤 3:启动 Grails 交互式控制台
通过运行 “grails” 命令启动 Grails 交互式控制台:

$ grails

步骤 4:创建一个控制器
在 Grails 交互式控制台中,你可以使用自动补全来创建一个控制器。输入以下命令创建一个名为 “greeting” 的控制器:

grails> create-controller greeting

此命令将在 grails-app/controllers/myapp 目录下生成一个名为 “GreetingController.groovy” 的新控制器文件。你可能会想知道为什么会有额外的 “myapp” 目录。这个结构符合 Java 开发中通常使用的约定,其中类被组织成包。Grails 自动将应用程序名称包含在包结构中。如果你没有指定包,Grails 默认使用应用程序名称。

有关创建控制器的更详细信息,你可以参考 create-controller 页面上的文档。

步骤 5:编辑控制器
在文本编辑器中打开 “grails-app/controllers/myapp” 目录中的 “GreetingController.groovy” 文件。

将以下代码添加到 “GreetingController.groovy” 文件中:

package myapp

class GreetingController {

    def index() {
        render "Hello, Congratulations for your first Grails application!"
    }
}

这个动作只是一个方法。在这种情况下,它调用 Grails 提供的一个特殊方法来渲染页面。

步骤 6:运行应用程序
现在,Grails 框架依赖于 Gradle 任务来运行应用程序。要启动应用程序,请使用以下 Gradle bootRun 命令:

$ ./gradlew bootRun

默认情况下,你的应用程序将在端口 8080 上托管。你可以在 web 浏览器中访问:

http://localhost:8080/

现在,需要了解欢迎页面是由以下 URL 映射确定的:

class UrlMappings {
    static mappings = {
        "/$controller/$action?/$id?(.$format)?"{
            constraints {
                // apply constraints here
            }
        }

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

这个映射指定根 URL (“/”) 应该显示 “index.gsp” 视图,该视图位于 “grails-app/views/index.gsp”。这个 “index.gsp” 文件用作欢迎或首页。映射中的其他条目处理 HTTP 状态码为 500 和 404 的错误页面。

Grails 基于控制器和动作名称的 URL 约定

Grails 遵循一种 URL 约定,依赖于控制器和它们的动作的名称。这种约定简化了在 Web 应用程序中创建和访问各种页面或功能的过程。

在提供的代码示例中:

package myapp

class GreetingController {

    def index() {
        render "Hello, Congratulations for your first Grails application!"
    }
}

GreetingController 类表示 Grails 中的一个控制器。

在控制器内部,定义了一个名为 index 的动作作为方法。在 Grails 中,动作本质上是控制器内处理特定任务或响应用户请求的方法。

现在,让我们了解 Grails URL 约定是如何基于此控制器和动作工作的:

URL 中的控制器名称:

控制器名称,例如 “GreetingController”,在 URL 中使用。但是,约定会将控制器名称的首字母大写并删除 “Controller” 后缀。因此,在 URL 中 “GreetingController” 变为 “greeting”。

URL 中的动作名称:

默认情况下,如果在 URL 中不指定动作,Grails 将假定 “index” 动作。因此,在此示例中,访问 URL /greeting

有关默认动作的更多详细信息,请参阅用户指南的控制器和动作部分的末尾。

可选:设置上下文路径
如果要为应用程序设置上下文路径,请在 “grails-app/conf/application.yml” 文件中创建一个配置属性:

server:
    servlet:
        context-path: /myapp

通过此配置,应用程序将在以下位置可用:

http://localhost:8080/myapp/

或者,当使用 Gradle 运行 Grails 应用程序时,还可以从命令行设置上下文路径。以下是如何做到这一点:

./gradlew bootRun -Dgrails.server.servlet.context-path=/your-context-path

将 /your-context-path 替换为 Grails 应用程序所需的上下文路径。该命令通过 -Dgrails.server.servlet.context-path 系统属性直接设置上下文路径。

例如,如果你希望应用程序位于 “http://localhost:8080/myapp”,可以使用以下命令:

./gradlew bootRun -Dgrails.server.servlet.context-path=/myapp

这使你能够在不修改应用程序配置文件的情况下配置上下文路径,这是在使用 Gradle 运行 Grails 应用程序时的一种灵活和方便的选项。

可选:更改服务器端口
如果端口 8080 已被占用,可以使用 grails.server.port 系统属性在不同端口上启动服务器:

$ ./gradlew bootRun --Dgrails.server.port=9090

将 “9090” 替换为你首选的端口。

对于 Windows 用户的注意事项

如果遇到与 Java 进程或文件名长度有关的错误,请使用 --stacktrace 标志或将 grails { pathingJar = true } 添加到你的 “build.gradle” 文件。

结论

现在,当你在 web 浏览器中访问时,你的 Grails 应用程序将显示 “Hello, Congratulations on your first Grails application!” 消息。

记住,你可以创建多个控制器和动作,以使用 Grails 构建更复杂的 Web 应用程序。每个动作对应于基于控制器和动作名称的唯一 URL 可访问的不同页面。

java web mvc-08-Grails 入门介绍_第1张图片

你可能感兴趣的:(mvc,java,前端,mvc)