天天看点

Grails环境部署开发

  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

Grails环境部署开发

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  

Grails环境部署开发
Grails环境部署开发

到此一个有增,删,改的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效果图:

Grails环境部署开发

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

继续阅读