grails快速开发web

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

使用Grails快速开发Web应用程序作者:梁士兴(liangsx@cn.ibm.com),实习生,IBMCSDL黄璐(huanglu@cn.ibm.com),测试工程师,IBMCSDL社区:://grails.5d6d.com/朝花夕拾——Groovy&Grails下面几篇是我以前写的一些随笔,挑选其中比较满意的做了个汇总,如果想学Groovy以及Grails的话,个人推荐:(目前Groovy最新版本:Groovy1.1-RC3,Grails最新版本:Grails1.0-RC2)(在Grails0.6+中,数据源配置和log4j的配置以及Spring的配置分别在grails-app\conf\DataSource.groovy,grails-app\conf\Config.groovy,grails-app\conf\spring\resources.xml中进行配置,而Hibernate的配置文件应放在grails-app\conf\hibernate目录下;如果想修改web.xml模板,请先运行“grailsinstall-templates”,然后修改src\templates\war\web.xml即可)(Groovy&Grails开发工具:Groovy&Grails开发利器)(Groovy&Grails技术图书:Groovy&Grails技术图书)(Groovy&Grails国内论坛:://grails.group.javaeye.com)推荐文章(文中实例均可运行,如有问题,请回复告知,谢谢)Groovy简介Java帝国的王储——Groovy!Groovy,一个富有创造性且革新的工程Groovy与Grails同甘共苦,苦尽甘来Groovy轻松入门系列Groovy轻松入门——搭建Groovy开发环境Groovy轻松入门——通过与Java的比较,迅速掌握GroovyGroovy轻松入门——Grails实战基础篇Groovy轻松入门——Grails实战之GORM篇Groovy轻松入门——Grails实战之Ajax篇Groovy轻松入门——Grails实战之遗留数据库处理篇Groovy轻松入门——Grails实战之遗留框架利用篇Groovy轻松入门——Grails实战之WebFlow篇Groovy高效编程系列Groovy高效编程——统计单词频率Groovy高效编程——生成XML文件Groovy高效编程——生成较为复杂的XML文件Groovy高效编程——用Groovy轻松搞定SOAP消息Groovy高效编程——动态改变对象的能力Groovy高效编程——利用SwingBuilder轻松构造GUIGroovy高效编程——‘匕首方法’的使用Groovy高效编程——用Closure替代匿名类Groovy高效编程——Annotations的使用Groovy高效编程——Mixin的使用Groovy&Grails的FAQFAQ——Groovy&Grails其他文章(教程,笔记,补丁,翻译,感想,新闻......)改进GroovyConsole出现在J2EEDeveloper应聘要求中的Groovy&Grails发布一个GrailsPlugin——Cache4Grails(Grails官方插件grails-cache的部分代码源于此插件)Grails的richTextEditor标签增强型(附效果图与patch)Grails的成功案例测试表明:Grails的性能远胜于RoR(RubyonRails)2007年Groovy好事连连Groovy的春天从Java7诞生那日开始牛刀小试——用Groovy实现最简单的ORM转载文章Groovy:[转载]Groovy学习之资料篇[转载]在Groovy1.0中使用闭包和集合[转载]Groovyrunningfineon.NET[转载]Groovy集合[转载]WhoIsUsingGroovy[转载]TheFutureofGroovy[转载]TheJSRVenture[转载]WhyGroovy?[转载]I'mdiggingGroovyandGrails[转载]JRuby,Groovy&JavaIntegration[转载]安装Groovy的Eclipse插件[转载]Groovy:TheSleepingGiantGrails:[转载]CompositiononRails:TheGroovySideofSAPNetWeaver[转载]对Grails之误解(强烈建议还不太了解Grails的朋友阅读此文)[转载]10CommonMisconceptionsaboutGrails(强烈建议还不太了解Grails的朋友阅读此文,适合英文比较好的朋友)[转载]让Grails+MySQL正确处理中文[转载]grails调用存储过程(Grails:callingastoredprocedure)[转载]GrailsGathersSteam,Headsfor1.0[转载]RubyonGrails?Whythehellnot?[转载]TheCharlesNutterRubyonGrailsstory[转载]Grails生成DECIMAL(NUMERIC)类型字段[转载]如何在eclipse下调试grails[转载]Grails+EJBDomainModels[转载]Grails[转载]Groovyonrails使用[转载]Grails快速入门(QuickStart)[转载]安装Grails[转载]GrailsIsontheMove[转载]ContrastingGrailsSpringBuildervsJRubySpringDSLvsGuice[转载]Oracle6月已经加入Grails开源计划[转载]面向Java开发人员的GrailsonOracle欲捕漏网之鱼者,请看我的Groovy&Grails分类Grails简介Grails是搭建在动态语言Groovy之上的一个开源MVCWeb开发框架,Grails的一个显著特点在于“快”,这主要得益于Groovy脚本语言的动态特性,也得益于其“一栈式”的设计。与传统的Java/C#Web开发框架相比,它可以使用极少的代码和配置实现诸如表单提交、数据库读写等常见的Web应用功能,实现了开发效率的成倍提高。与它的老师RubyonRails相比,Grails的优势在于Groovy语言与Java平台的紧密集成。一方面Groovy在语法上与Java十分相似,降低了众多的Java程序员学习Grails的门槛。另一方面,Groovy本身运行于JVM之上,可以直接调用Java代码,实现了与Java平台的完美整合,因此可以将GrailsWeb应用运行在成熟可靠的JavaEE应用服务器之上。Grails是一个遵循MVC设计模式的Web开发框架。它分别用DomainClass、View、Controller对应于MVC的模型、视图和控制器。可以简单的把一个DomainClass理解为数据库中的一张表,Grails在底层通过Hibernate将DomainClass和数据库的表进行了映射。View在Grails中指的是GSP页面(注意是GSP不是JSP),它用于显示用户界面。GSP与JSP类似,既可以编写静态网页的元素,也可以嵌入Groovy代码实现动态内容。Controller在Grails中充当着重要的角色:它可以响应用户的请求,可以接收用户提交的表单,还可以访问模型的数据,并传递给View。Grails在MVC三方面的具体内容,将在后面的例子中做详细介绍。Grails快速入门下面就开始演示Grails的安装以及如何用Grails迅速的开发一个最简单的应用程序。安装Grails首先从Grails.org上下载Grails安装程序(目前最新版本是1.0RC1),将压缩包解压到硬盘上,并设置环境变量GRAILS_HOME为解压的路径。图1.设置GRAILS_HOME环境变量然后把%GRAIS_HOME%\bin加到System的Path变量中。图2.设置Path环境变量在控制台下输入grailshelp,如果能看到Grails的命令列表,Grails的安装配置就算成功了。图3.检验Grails是否安装成功创建一个Grails应用程序创建Grails应用程序需要使用grailscreate-app命令,在控制台输入:grailscreate-appContactGrails会为我们创建一个名叫“Contact”文件夹,并在其中生成一个应用程序框架,生成的应用程序目录结构如下:表1.Contact应用文件目录结构Contact +grails-app  +conf存放配置信息,包含数据源、应用程序启动时自动执行的类ApplicationBootStrap.groovy,Url映射配置 +controller存放控制器(“MVC”的“C”) +domain存放域类(“MVC”的“M“) +i18n存放国际化资源文件 +services存放service类 +taglib存放标签库类 +views存放视图模版(“MVC”的V,每个控制器对应一个文件夹并存放在Views中,每个文件夹中会有多个GSP页面)  +layouts存放布局模板+grails-tests存放测试代码+hibernate存放可选的其它Hibernate配置文件+lib存放其它Jar包(如JDBC驱动等)+spring存放可选的Spring配置文件+src  +java存放Java源程序 +groovy存放Groovy源程序+web-app  +css存放CSS样式表 +images存放图片文件 +js存放JavaScript文件 +WEB-INF存放部署相关的文件 +index.gsp应用程序的首页从上述目录结构可以看出Grails的“约定优于配置”设计理念,它约定了不同层次代码存放的位置以及项目的组织方式,这既提供了一种最佳实践,同时也节省了开发人员配置项目的精力。添加DomainClass接下来,为刚创建好的项目添加一些功能。首先创建两个DomainClass。前面说过,DomainClass实质上是数据库表映射的实体类。通过控制台,进入项目的根文件夹(注意:本文出现一切的控制台输入,除create-app外,都需要在项目文件夹中执行),输入grailscreate-domain-classTeam:图4.创建DomainClass新创建的Domain类出现在了grails-app/domain文件夹中,同时Grails还创建了相应的Test类。用记事本打开grails-app\domain文件夹中的Team.groovy,加入如下内容:classTeam{StringteamNameDatefoundDate}这两行代码描述了Team所包含的属性,从代码中可以看出Groovy语言的一些特点:1.无需“;”结尾(有“;”也不会报错);2.简单数据类型,与Java相同;创建Controller接下来为DomainClassTeam类创建Controller,在控制台输入grailscreate-controllerTeam,Grails会在grails-app/controller中创建一个名为TeamController的类。编辑TeamController.groovy文件。加入如下代码:classTeamController{defscaffold=Team}不要小看这仅有的一行代码,它使Team表有了相应的CRUD(增、删、查、改)功能的页面。在控制台中输入grailsrun-app,运行应用以查看效果:图5.Teamlistpage图6.ShowTeampage图7.Editteampage使用Eclipse搭建开发环境通过前一章的快速入门,您应该对Grails有了一个感性的认识。下面,我们将改

1 / 35
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功