Fiberhome开发全过程
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出错信息:
解决:使用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 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 到此一个有增,删,改的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 修改controllerclass 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效果图: 4 部署服务1. 到工程目录下,执行:grails war 2. 把*.war文件放在apache的webapp下,启动apache就可以了 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |