加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Grails环境部署开发

发布时间:2020-12-14 17:01:27 所属栏目:大数据 来源:网络整理
导读:? 1 ?????? 内容简介 该部分主要介绍了Grails的开发环境配置,开发第一个简单的web服务,将应用部署到发布平台. ? 2 ?????? 开发平台搭建 2.1 ??? 组件 Eclipse :业界广泛采用的java开发环境,开源的,最优秀的开发软件之一 Groovy 的Eclipse 插件 : Groovy 的 E
?
1?????? 内容简介
该部分主要介绍了Grails的开发环境配置,开发第一个简单的web服务,将应用部署到发布平台.
?
2?????? 开发平台搭建
2.1??? 组件
Eclipse:业界广泛采用的java开发环境,开源的,最优秀的开发软件之一
Groovy 的Eclipse 插件: Groovy 的 Eclipse 插件能够编辑,编译以及运行 groovy 脚本和类,这个插件只适用于 eclipse3.1 和 eclipse3.2
Grails:比较流行的框架,groovy是该框架下的脚本语言,不过这种框架开发效率高,运行效率底,好在Grails开发人员已经意识到这个问题,正在改进.还支持动态调试
JDK1.5:java开发包,至少是1.4版本
Eclipse下载: http://www.eclipse.org/
Eclipse插件下载: http://dist.codehaus.org/groovy/distributions/update
Grails下载: http://grails.codehaus.org/
?
2.2??? 开发环境配置
2.2.1?? 安装与部署Grails
1. 安装java1.5并设置JAVA_HOME到安装路径
2. 解压缩grails到指定目录(如:c:/grails-0.5-SNAPSHOT),且设置环境变量GRAILS_HOME

3. 添加Grails中的bin目录到PATH环境变量((如Windows上 %GRAILS_HOME%/bin)
4. 在命令行输入"grails",若显示出帮助信息,您就可以使用Grails了
2.2.2?? 安装Eclipse的groovy插件
· eclipse 下: Help->Software Updates->Find and Install -> Search For New Features to install->然后按下next
·选择 New Remote Site
· name 中输入 Groovy
· URL= http://dist.codehaus.org/groovy/distributions/update,然后按下 OK,Finish
·在 Select the Features to Install 选上 Groovy ,按下 next
·接受 agreement 并按下 next
·如果默认的地址正确则按下 Finish
·下载完毕后点击 Install 或 Install All
创建 Groovy 工程
·选择 File -> New -> Project
·选择 Java Project 并按下 next
·在 Project Name 中输入MyGroovy
·在 Project Layout 中选择 Create separate source and output folders 并按下 Finish
·在 Package Explorer 寻找新创建的工程,右键选择 Groovy -> Add Groovy Nature
到目前为止创建的工程中会有一个 src 目录,一个 bin-groovy 目录和几个库文件。 bin 目录被 eclipse 隐藏起来。你需要将 bin-groovy 目录作为默认输出目录连接到 src 目录使得调试器能知道源代码和类文件的关联。
·?在 Package Explorer 中,右击MyGroovy工程,选择 Build Path -> Configure Build Path
在 src 中右键创建 groovy class ,并输入例子
class HelloWorld {
?
?static void main(args) {
??? def list = [ "dog","cat","bird" ]
?????? for(l in list){
????????????? println l
?????? }
?}
}
运行快捷键:Alt+shift+x,G
3?????? 第一个例子”hello world”
3.1??? Grails基本命令
1.?????? 创建一个新的应用: grails create-app $projectname
创建一个新的GRAILS项目,进入GRAILS_HOME:grails create-app $projectname
以下的命令要进入$projectname,才能执行
2.?????? 创建域类:grails create-domain-class $domainname
3.?????? 生成基本Web应用程序:grails generate-all $domainname ???
?????? 注意:由于bug-245,Grails 0.2.1不能生成控制器。您必须手动生成控制器,其方法是对每个域类使用generate-controller 命令
grails generate-controller $domainname
4.?????? 创建服务:grails create-service $servciename
5.?????? 创建Controller:grails create-controller $controllername
6.?????? 打包:cd $projectname;grails war
?
3.2??? HelloWorld例子
3.2.1?? 创建HelloWorld项目
进入$GRAILS_HOME,执行 grails?create-app HelloWorld, 系统生成的目录如下 :
%PROJECT_HOME%
???+ grails-app
?????? + conf???????????????? ---> 存放一些配置信息,比如数据源
?????? + controllers????????? ---> 存放控制器
?????? + domain?????????????? ---> 存放域对象(domain class)
?????? + i18n???????????????? ---> 存放一些i18n相关的内容
?????? + services???????????? ---> 存放服务组件
?????? + taglib?????????????? ---> 存放标签库
?????? + views??????????????? ---> 存放视图组件
?????? + layouts????????????? ---> 存放布局组件
?? + lib
?? + spring??????????????? ????---> spring配置信息(可选)
?? + hibernate???????????????? ---> 配置hibernate配置信息
?? + war
?????? + WEB-INF
?
3.2.2?? 配置数据源
这里使用的是grails自带的HSQLDB内存数据库,配置文件为DevelopmentDataSource.groovy,内容如下:
class DevelopmentDataSource {
?? boolean pooling = true
?? String dbCreate = "create-drop" // one of 'create','create-drop','update'
?? String url = "jdbc:hsqldb:mem:devDB"
?? String driverClassName = "org.hsqldb.jdbcDriver"
?? String username = "sa"
?? String password = ""
}
3.2.3?? 创建域类,控制器,视图
域类就是对应数据库的表的 ,Hello 域就是对应到数据库的 Hello
进入HelloWorld目录后
??????? grails?create-domain-class Hello???? ( 创建 Hello 域类 )
编辑这个域 , 以适应自己的需求
class Hello {
???? Long id
???? String name
???? String saywhat
}
??????? grails generate-all Hello????????????????? ( 创建 Hello 控制器和视图 view)
??????? grails run-app?????????????????????????????? ( 运行 web 服务 )
默认是8080端口,指定端口grails -Dserver.port=80 run-app
在IE里输入http://127.0.0.1:8080
?

到此一个有增,删,改的web服务弄好了,系统给你做了大部分工作.
?
3.3??? 使用服务
Grails里的服务类似于java的jar包,是封装好的接口.
3.3.1?? 创建服务:grails create-service Hello
?????? 修改HelloWorld/grails-app/services/LoginService.groovy的内容为:
class HelloService {
??????
?????? boolean transactional = true
??????
?????? def sayHello(String name){
????????????? return name + "say: hello world!!!"??????
?????? }
??????
?????? def serviceMethod() {
????????????? // TODO
?????? }
}
?
3.3.2?? 修改controller
class HelloController {
?????? HelloService helloService // 定义服务
??????
?????? def index = { redirect(action:testhello,params:params) }???? // 默认的 action testhello
?
?????? def testhello = {// 定义一个名为 testhello action
????????????? // 从域类 ( 就是数据库表 ) 里查询数据
????????????? def hello = Hello.executeQuery("select id,name,saywhat from Hello")
?????????????
????????????? def helloList = new ArrayList()
?
????????????? for(ehello in hello){
???????????????????? helloList.add(helloService.sayHello(ehello[1]))
????????????? }
????????????? //render hello 的视图就是 hello.gsp, 参数是 model 里的左边的 helloList, 右边的 helloList ”def helloList”
????????????? render(view:'hello',model:[helloList:helloList])????????????
?????? }
……
}
3.3.3?? 添加hello.gsp
在views/hello目录下添加hello.gsp,代码如下:
<html>
??? <head>
???????? <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
????????? <meta name="layout" content="main" />
???????? <title>Show Hello</title>
??? </head>
??? <body>
??????? <div class="body">
??????????
?????????? ?<g:each in="${helloList}" var="varHelloList">
??????????????????????????? <h1>${varHelloList}</h1>
???????????????????? </g:each>
??????? </div>
??? </body>
</html>
Web效果图:

4?????? 部署服务
?
1.?????? 到工程目录下,执行:grails war
2.把*.war文件放在apache的webapp下,启动apache就可以了
?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读