文章
开发人员:开放源代码
面向 Java 开发人员的 Grails on Oracle作者:Tug Grall
了解如何在 Oracle 数据库 XE 上快速构建一个 Grails 应用程序,然后将其部署到 Oracle 应用服务器 10g。2006 年 5 月发表 您可能已经注意到,Oracle 最近发表了一篇由 Richard Monson-Haefel 撰写的有关 Oracle 上的 Ruby on Rails 的文章。这篇文章介绍了 Ruby on Rails 框架以及如何使用它访问 Oracle 数据库(确切地说是 Oracle 数据库 10g 快捷版 (XE))。 什么是 Groovy?什么是 Grails?Groovy 是一种利用其他语言(如 Ruby、Jython 和 Smalltalk)中的特性的动态语言。Groovy 在 Java VM 上运行,并使任何现有的 Java 对象(以及所有 API)可用于 Groovy。Groovy 当前遵循 JSR-241 中的标准;您可以在 Groovy 网站及其项目主管 (Guillaume Laforge) 的网志中了解有关该语言的详细信息。 Grails 之于 Groovy 相当于 Ruby on Rails 之于 Ruby。(该名称最初为“Groovy On Rails” ,现在已改为“Grails”以避免混淆/竞争。)与 Ruby on Rails 一样,Grails 用于创建 CRUD( 创建、读取、更新、删除)Web 应用程序。您可以在 Grails 网站及其项目主管 (Graeme Rocher) 的网志中了解有关 Grail 的详细信息。 下面,我们将深入了解一下该示例应用程序。
示例:产品目录第 1 步:设置 Oracle 数据库如果您尚未设置 Richard 文章中的模式和表,则只需创建下列对象: CREATE TABLE comics (
第 2 步:安装 GrailsGrails 安装非常简单,安装指南中有述。基本步骤:
完成! 第 3 步:创建 Web 应用程序现在您已经安装了本产品,下一步是创建应用程序本身。 > grails create-app
您将看到,Grails 频繁使用 Ant。create-app 命令将请求您输入应用程序名称;例如,输入 comics_catalog。 > cd comics_catalog
当命令请求您输入类名时,请输入“comics”。Grails 使用的命名惯例与 Ruby on Rails 的不同,因此,您需要使用同一名称来命名类和要在其上映射对象的表。持久性层使用 GROM(Grails 对象关系映射)创建,后者利用了 JBoss Hibernate。 ./comics_catalog/grails-app/domain/Comics.groovy 请注意,默认情况下 Grails 使用两个属性创建该类:id 和 version。将它们保存到适当的位置,并添加标题、期号和出版商。 class Comics {
现在,您已经设置了所有内容并准备运行 magic 命令,该命令将创建不同的屏幕和流。 > grails generate-all
该命令将创建不同的视图和控制器;您可以查看各个目录: ./comics_catalog/grails-app/controllers 配置数据库访问。接下来,您必须将该应用程序配置为使用 Oracle 数据库和模式。Grails 对数据源使用一个配置文件: ./comics_catalog/grails-app/conf/ApplicationDataSource.groovy 编辑该文件以连接到 Oracle 数据库。 class ApplicationDataSource {
此处没有任何特殊内容,只有 URL、DriverClassName、username 和 password 等属性。一个值得注意的属性是 dbCreate,您可以使用它在模式上配置行为,以创建(或不创建)对象。本示例中存在表,因此需要重用对象 — 但首先您需要确认已经拥有所有必需对象(以及列),因此请选择更新。 ORACLE_XE_HOME/app/oracle/product/10.2.0/server/jdbc/lib/ojdbc14.jar 复制到 ./comics_catalog/lib/ 第 4 步:运行应用程序Grails 支持在独立模式下运行应用程序 (run-app)。该命令在部署应用程序后启动 Web 容器(基于 Jetty)。 > grails run-app
注:Jetty 将在端口 8080 上启动;要在其他端口(如 9090)上启动,请使用: grails -Dserver.port=9090 run-app 您现在可以使用以下 URL 访问该应用程序: http://localhost:8080/comics_catalog/comics/ 您的浏览器将显示 Comics 表中的 comics 列表。
如您所见,创建应用程序其实非常简单。下一步是将应用程序部署到应用服务器。 第 5 步:部署应用程序Grails 提供了一个用于将应用程序打包为要准备部署的 WAR 的命令,因此在项目的根目录中,您可以运行以下命令: > grails war
运行该命令时,您使用位于项目根目录中的应用程序名称(在本示例中为 comics_catalog.war)结束 WAR。
还可以将此配置保存在部署计划中以方便稍后进行部署。 完成部署后,您可以使用 Oracle 应用服务器主机和端口(如下所示)访问该应用程序: http://localhost:8888/comics_catalog/comics/list 您现在可以像管理和监视任何其他部署到 Oracle 应用程序 10g 的 J2EE 应用程序那样来管理和监视该应用程序。
结论Grails 和 Ruby on Rails 确实都是很有吸引力的框架,它们使开发人员可以快速创建访问关系数据库(尤其是 Oracle 数据库)的 Web 应用程序。 Grails 刚推出不久(版本 0.2),但文档却很详细和完善。欢迎所有有兴趣的开发人员使用该框架,并向开发小组提供反馈。 Tug Grall 是 Oracle Application Server Containers for J2EE 小组的产品经理。 |
||||||||||||||||||||||||||||||||||