技术开发 频道

Linux下使用grails进行web开发

三、建立一个应用程序
 
   1. 创建一个 Grails 应用程序

   创建 Grails 应用程序需要使用 grails create-app 命令,在控制台输入:
   # grails create-app bookstore

   Grails 会为我们创建一个名叫“bookstore”(书库)文件夹,并在其中生成一个应用程序框架,生成的应用程序目录结构如下: 从上述目录结构可以看出 Grails 的“约定优于配置”设计理念,它约定了不同层次代码存放的位置以及项目的组织方式,这既提供了一种非常好的实践,同时也节省了开发人员配置项目的精力。

   2 .添加 Domain Class

   接下来,为刚创建好的项目添加一些功能。首先创建两个 Domain Class。前面说过,Domain Class 实质上是数据库表映射的实体类。通过控制台,进入项目的根文件夹
#cd bookstore
#grails create-domain-class book
如图3 。



图3 创建 Domain Class


   3 .修改脚本文件

   新创建的 Domain 类出现在了 grails-app/domain 文件夹中,同时 Grails 还创建了相应的 Test 类。用记事本打开 grails-app\domain 文件夹中的 Team.groovy,修改为如下内容:

class Book { static constraints = { title(blank: false) author(blank: true) pages(blank: true) publishDate(blank: true) status(blank: false, inList: ['active', 'inactive'] ) } String title String author Integer pages Date publishDate String status String toString() { String strTemp = "Book: ${title} by ${author}"; return strTemp; } }
   这几行代码描述了 Team 所包含的属性,从代码中可以看出 Groovy 语言的一些特点:
   1. 无需“;”结尾(有“;”也不会报错);
   2. 简单数据类型,与 Java 相同;
   4编辑/grails-app/conf/BootStrap.groovy
   加入如下代码:
class BootStrap { def init = { servletContext -> } def destroy = { } } class BootStrap { def init = { servletContext -> } switch (GrailsUtil.environment) { case "development": println "**** BootStrap detected development" configureForDevelopment() break case "test": println "**** BootStrap detected test" configureForTest() break case "production": println "**** BootStrap detected production" configureForProduction() break } } def destroy = { } //--------------------------------------------------------- /** Tasks to do when Grails in running in dev environment. */ void configureForDevelopment() { println "BootStrap configureForDevelopment() called" def dataItem = new Holiday(name: "New Year's Day 2007", dateOfHoliday: new Date(), dateCreated: new Date(), status:"active") dataItem.save() (dataItem = new Holiday(name: "New Year's Day 2007", dateOfHoliday: new Date(), dateCreated: new Date(), status:"active")).save() (dataItem = new Holiday(name: "New Year's Day 2008", dateOfHoliday: new Date(), dateCreated: new Date(), status:"active")).save() (dataItem = new Holiday(name: "New Year's Day 2009", dateOfHoliday: new Date(), dateCreated: new Date(), status:"active")).save() } //--------------------------------------------------------- void configureForTest() { println "BootStrap configureForTest() called" } //--------------------------------------------------------- void configureForProduction() { println "BootStrap configureForProduction() called" } }

   以上代码,它使 Team 表有了相应的 CRUD(增、删、查、改)功能的页面。
   运行命令:grails generate-all book
   图4 是该命令成功建立Book class界面



   5 .启动服务器

   Grails具有一个内置Resin服务器,您可使用grails run-app 命令运行应用程序。此命令会将应用程序部署到Resin服务器并启动服务器。因此您现在可以在http://localhost:8080/ClothesMgt 访问此应用程序。您还可以同样轻松地将应用程序部署到任意JavaEE服务器。

   最后运行命令:grails run-app ,图5 是本文第一个Grails 应用程序成功完成界面。



图5 Grails 应用程序成功完成界面


   最后安装提示使用Linux 的浏览器打开链接:http://localhost:8080/bookstore
   如图6 。



图6 Grails 应用程序


图 7 创建book页面



图8 显示页面

   6 .修改grails 端口的方法

   Grails默认的 端口是8080,Tomcat主要用来解析Servlet和JSP。它是Sun公司JSP的标准实现软件。Tomcat作为独立的Web服务器时,可以监听所有网络接口上的8080端口,为了避免二者冲突可以修改文件:GRAILS_HOME/scripts/Init.groovy 的一行:serverPort = System.getProperty('server.port') ? System.getProperty('server.port').toInteger() : 8080
修改为serverPort = System.getProperty('server.port') ? System.getProperty('server.port').toInteger() : 9000
这样就可以避免二者冲突。以后可以使用9000端口范围服务器。

   到此为止笔者简单介绍了在Linux 下使用grails进行web开发的初步。本文介绍了Grails框架的基本特性,并使用Grails创建了一个应用程序。Groovy和Grails最大的好处是一切都运行在优秀的旧Java和Java EE上——因此您能够使用Groovy和Grails的RAD特性快速开发应用程序,然后将应用程序部署到可靠的Java EE服务器上。

   Ruby、PHP和Python之类的脚本语言最近几年越来越流行,因此,需要开发一个Java脚本备选语言和类似Rails的针对Java环境的框架。Groovy就是这个脚本语言,而Grails就是这个框架。本文使用的Linux 发行版本是红帽企业版5 。

0
相关文章