Fiberhome开发全过程

本文介绍如何使用Grails框架快速搭建Web应用,包括开发环境配置、首个应用搭建、服务创建及部署全流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Technorati 标签: fiberhome, corba

Fiberhome开发全过程

 

2007年4月6日

目录

1 内容简介.... 2

2 开发平台搭建.... 2

2.1 组件... 2

2.2 开发环境配置... 3

2.2.1 安装与部署Grails. 3

2.2.2 安装Eclipse的groovy插件... 3

3 第一个例子”hello world”. 4

3.1 Grails基本命令... 4

3.2 HelloWorld例子... 5

3.2.1 创建HelloWorld项目... 5

3.2.2 配置数据源... 5

3.2.3 创建域类,控制器,视图... 5

3.3 使用服务... 6

3.3.1 创建服务:grails create-service Hello. 6

3.3.2 修改controller. 7

3.3.3 添加hello.gsp. 7

4 部署服务.... 8

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 编译IDL

出错信息:

Severity and Description Path Resource Location Creation Time Id

org.omg.CosNotifyChannelAdmin cannot be resolved Fiberhome/Session EmsSessionPOA.java line 80 1177040553600 15230

org.omg.CosNotifyChannelAdmin cannot be resolved Fiberhome/Session _EmsSessionStub.java line 174 1177040553450 15210

org.omg.CosNotifyChannelAdmin cannot be resolved to a type Fiberhome/Session EmsSessionOperations.java line 17 1177040553600 15231

org.omg.CosNotifyChannelAdmin cannot be resolved to a type Fiberhome/Session EmsSessionPOA.java line 77 1177040553600 15228

org.omg.CosNotifyChannelAdmin cannot be resolved to a type Fiberhome/Session EmsSessionPOA.java line 77 1177040553600 15229

org.omg.CosNotifyChannelAdmin cannot be resolved to a type Fiberhome/Session EmsSessionPOATie.java line 67 1177040553590 15220

org.omg.CosNotifyChannelAdmin cannot be resolved to a type Fiberhome/Session _EmsSessionStub.java line 162 1177040553450 15209

解决:使用jacorb,导入jacorb.jar到工程里

2.2.1 安装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

clip_image002

clip_image004

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

clip_image006

4 部署服务

1. 到工程目录下,执行:grails war

2. 把*.war文件放在apache的webapp下,启动apache就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值