Grails技術(shù)精解與Web開發(fā)實踐

出版時間:2009-9  出版社:清華大學(xué)出版社  作者:宋友,梁士興,黃璐,王鑫  頁數(shù):246  
Tag標(biāo)簽:無  

前言

  互聯(lián)網(wǎng)的發(fā)展帶來了新的科技革命,Web 2.0的概念更是將網(wǎng)絡(luò)技術(shù)和應(yīng)用推向了新的高潮。在這個技術(shù)日新月異發(fā)展的年代,各種框架、各種概念、各種思想呈現(xiàn)出了百花齊放局面,雖然無比繁榮,卻讓人十分眼花繚亂。選擇一種最適用的Web框架,可以給開發(fā)時間、開發(fā)成本、開發(fā)質(zhì)量帶來巨大的影響。  當(dāng)今世界是一個創(chuàng)造奇跡的時代。J2EE創(chuàng)造了一個奇跡,使得開發(fā)企業(yè)級的Web應(yīng)用變得快速、可靠、經(jīng)濟,從而成為近年來的主流Web開發(fā)框架。RoR的誕生創(chuàng)造了另一個奇跡,它的開發(fā)效率是J2EE的5倍以上,而且相比PHP技術(shù),它有著更好的代碼組織結(jié)構(gòu),更容易寫出高質(zhì)量的代碼。  Grails是繼RoR之后的又一個奇跡:它不但具備J2EE和RoR的諸多優(yōu)點,還解決了RoR不能有效適用于廣大Java用戶的一大難題。目前,Grails已得到了業(yè)內(nèi)廣泛地認可。在2008年11月11日,以Spring框架而聞名于天下的SpringSource宣布收購主導(dǎo)Grails開發(fā)的G2one公司,并承諾在收購之后,會投入更大的力量去改進Grails并且對Grails的全球用戶提供商業(yè)支持。正如著名的ququjoy的評論所述:“SpringSource 將G2One收購之后,以Spring為底層框架的Grails必將迎來自己的春天”。對于還在觀望的用戶,還猶豫什么呢?趕快加入到Grails的使用者隊伍中吧,充分享受Grails帶來的實用與便捷?! ∧壳?,市面上關(guān)于J2EE的書籍?dāng)?shù)不勝數(shù)。關(guān)于RoR的書籍也至少有數(shù)十本。然而,也許很快將引領(lǐng)潮流的Grails實在太新了,它的資料主要還在Grails官方網(wǎng)站上能獲得。關(guān)于Grails的中文書籍僅有兩本外版圖書,并且介紹的是低版本的Grails。這對于廣大愛好Web開發(fā)、并渴望學(xué)習(xí)Grails這門新技術(shù)的讀者來說,不能不說是一個   遺憾?! 】上驳氖牵@本書問世了,該書的作者們自己使用Grails開發(fā)了許多成功的應(yīng)用。為了撰寫該書,他們親自編寫了一個典型的網(wǎng)上購物車的Web應(yīng)用實例。通過Web實例制作的示范和講解,由淺入深地分析了Grails的神奇,實踐性非常強。同時,本書也對Grails的源代碼、基于MVC的Web開發(fā)原理進行了深入的分析,亦不失理論深度。該書的面市相信會為Web開發(fā)愛好者帶來一個小的驚喜?! ≡摃鴥?yōu)美地結(jié)合了理論與實踐。不失為一本優(yōu)秀的教科書和程序員與項目經(jīng)理的參考手冊。值得一讀。

內(nèi)容概要

  Grails是繼J2EE、PHP、ROR等技術(shù)之后又一個成功的Web框架?!禛rails技術(shù)精解與Web開發(fā)實踐》系統(tǒng)講解了使用Grails技術(shù)快速進行Web開發(fā)的知識。《Grails技術(shù)精解與Web開發(fā)實踐》內(nèi)容分為四大部分,第一部分介紹了Grails必備的基礎(chǔ)知識,包括環(huán)境配置、Groovy語言基礎(chǔ)、HelloWorld程序開發(fā)實例等;第二部分以迭代的方式,設(shè)計并逐步完善了一個購物車應(yīng)用,介紹了Grails基礎(chǔ)知識;第三部分對Grails各個部分的細節(jié)進行了深入討論;第四部分對Grails的實現(xiàn)原理進行了剖析,通過分析Grails的源碼,幫助讀者體會出Grails如此神奇的奧妙所在?!  禛rails技術(shù)精解與Web開發(fā)實踐》可作為大學(xué)本??栖浖こ痰葘I(yè)教材,其適用的課程可以為Web開發(fā)與實踐、軟件工程實踐等?!禛rails技術(shù)精解與Web開發(fā)實踐》也可供Web開發(fā)與應(yīng)用的工程技術(shù)人員和愛好者參考。

作者簡介

宋友	北京航空航天大學(xué)軟件學(xué)院
梁士興 IBM中國開發(fā)中心
黃璐 IBM中國開發(fā)中心
王鑫 IBM中國開發(fā)中心

書籍目錄

第1章 導(dǎo)論 11.1 RoR的革命與Web開發(fā)的新時代 11.2 RoR并不完美 21.2.1 Ruby語言方面的不足 21.2.2 對歷史遺留項目的支持較為困難 21.3 Grails的誕生解決了一些遺憾 31.3.1 Groovy語言 31.3.2 Grails站在了巨人的肩膀之上 31.3.3 Grails有良好的擴展性 31.4 對Grails的一些誤解 31.5 本書的使用說明 41.6 本章小結(jié) 4第一篇 入門篇第2章 HelloGrails 62.1 Grails的安裝 62.1.1 JDK的安裝與配置 62.1.2 Grails的安裝 72.2 創(chuàng)建Grails工程 82.3 Grails的MVC架構(gòu) 112.4 Scaffold應(yīng)用程序 142.5 開發(fā)工具的使用 172.6 本章小結(jié) 19第3章 GroovyVSJava 203.1 Groovy的基本類型與運算符 213.1.1 字符串 213.1.2 數(shù)字 223.1.3 Groovy的類 233.1.4 運算符 243.2 Groovy的控制結(jié)構(gòu) 253.3 Groovy的集合 273.3.1 列表 273.3.2 映射 283.3.3 區(qū)間 293.4 Groovy的閉包 303.4.1 閉包的定義 303.4.2 閉包的代表 313.4.3 閉包在GDK中的使用 313.5 本章小結(jié) 33第二篇 實際應(yīng)用第4章 商品維護 364.1 準(zhǔn)備工作 364.2 查看商品列表 404.3 創(chuàng)建和編輯商品 444.4 本章小結(jié) 48第5章 商品搜索 495.1 構(gòu)造查詢表單 495.2 復(fù)雜的數(shù)據(jù)庫查詢 505.2.1 Hibernate Criteria Builder的初窺 515.2.2 數(shù)據(jù)庫的分頁查詢 545.2.3 將查詢改造為innerjoin 595.3 顯示分頁導(dǎo)航 605.4 本章小結(jié) 62第6章 用戶注冊與登錄 636.1 表單驗證與資源文件 636.2 用戶注冊 696.3 用戶登錄 736.3.1 登錄的數(shù)據(jù)庫查詢 736.3.2 使用Session維持會話 746.3.3 自定義Codec實現(xiàn)對密碼加密 756.4 登錄保護 766.5 本章小結(jié) 79第7章 購物車與訂單 807.1 購物車的查看與管理 807.1.1 定義購物車的Domain類 807.1.2 定義OrderService類 827.1.3 顯示購物車 847.1.4 維護購物車 857.2 訂單的提交 907.2.1 定義訂單的Domain類 907.2.2 提交訂單的表單頁面 907.2.3 訂單的保存 947.3 訂單的查看 957.4 本章小結(jié) 99第8章 系統(tǒng)后臺管理 1008.1 頁面布局的使用 1008.1.1 GrailsLayout的基礎(chǔ)知識 1008.1.2 為系統(tǒng)后臺管理創(chuàng)建統(tǒng)一的decorator 1038.2 文件上傳的實現(xiàn) 1078.2.1 開發(fā)表單頁面 1078.2.2 在Controller中接收文件 1088.3 修改訂單狀態(tài) 1098.4 本章小結(jié) 110第9章 Grails的自動化測試 1119.1 Grails自動化測試基礎(chǔ)知識 1119.2 編寫測試用例 1139.2.1 對Domain類進行測試 1139.2.2 對Service類進行測試 1169.2.3 對Controller進行測試 1189.2.4 對Taglib進行測試 1209.3 本章小結(jié) 121第10章 部署應(yīng)用 12210.1 Grails對部署的支持 12210.2 配置應(yīng)用程序 12410.3 本章小結(jié) 127第三篇 深入了解Grails第11章 深入GORM 13011.1 自定義映射 13011.1.1 基本映射 13011.1.2 配置主鍵 13111.1.3 “鎖”與Version 13311.1.4 事件與自動時間戳 13411.1.5 映射Blob字段 13411.1.6 定義非持久化屬性 13511.2 深入理解Domain間的關(guān)系 13611.2.1 一對一關(guān)系 13611.2.2 一對多關(guān)系 13711.2.3 多對多關(guān)系 13911.2.4 繼承關(guān)系 14111.2.5 合成關(guān)系 14311.3 數(shù)據(jù)庫查詢小結(jié) 14311.3.1 GORM提供了便捷的查詢方法 14311.3.2 基于HQL的查詢 14511.4 對GORM進行性能優(yōu)化 14611.4.1 設(shè)置抓取模式 14711.4.2 使用二級緩存 14711.5 使用GRAG工具生成Domain 15111.6 本章小結(jié) 154第12章 與Spring整合 15512.1 依賴注入與Spring容器基礎(chǔ) 15512.1.1 依賴注入 15512.1.2 Spring容器基礎(chǔ) 15712.2 在Grails中使用Spring 15812.3 本章小結(jié) 160第13章 深入Controller 16113.1 Controller中常用的屬性與方法 16113.2 自定義URLMapping 16413.3 WebFlow 16713.4 本章小結(jié) 172第14章 深入GroovyServer Page 17414.1 GSP基礎(chǔ)知識 17414.1.1 GSP輸出表達式 17414.1.2 GSP中預(yù)定義的變量與作用域 17514.2 GSP標(biāo)簽庫 17514.2.1 常用的內(nèi)置標(biāo)簽 17614.2.2 開發(fā)自定義標(biāo)簽 17914.3 Grails對Ajax的支持 18214.4 本章小結(jié) 184第15章 實現(xiàn)WebService 18515.1 REST風(fēng)格的WebService 18515.1.1 什么是REST 18515.1.2 在Grails中實現(xiàn)REST 18515.1.3 在Client端調(diào)用服務(wù) 18715.2 基于SOAP的傳統(tǒng)WebService 18815.3 本章小結(jié) 189第16章 使用Grails插件 19016.1 插件的安裝 19016.2 插件的組織結(jié)構(gòu) 19616.3 插件的使用 19716.3.1 Acegi插件 19716.3.2 Debug插件 20416.4 本章小結(jié) 205第四篇 Grails解密第17章 高級Groovy特性 20817.1 動態(tài)方法調(diào)用與屬性訪問 20817.1.1 動態(tài)方法調(diào)用 20817.1.2 動態(tài)屬性訪問 20817.2 invokeMethod和getProperty 20917.3 MOP動態(tài)基礎(chǔ) 21117.3.1 遍歷方法和屬性 21117.3.2 動態(tài)添加方法 21317.3.3 動態(tài)添加屬性 21517.3.4 使用方法對象 21617.3.5 為某一特定的實例添加方法 21717.4 本章小結(jié) 218第18章 Grails插件開發(fā) 21918.1 創(chuàng)建與發(fā)布插件 21918.2 插件能做什么 22118.2.1 添加Spring配置信息 22318.2.2 與Spring容器交互 22418.2.3 修改web.xml 22418.2.4 添加動態(tài)方法 22618.2.5 捕獲變更 22718.3 插件的依賴關(guān)系 22918.4 在安裝或升級時執(zhí)行附加操作 23018.5 本章小結(jié) 230第19章 淺析Grails的源程序 23119.1 準(zhǔn)備工作 23119.1.1 下載源碼 23119.1.2 編譯Grails源碼 23119.2 HibernateCriteriaBuilder的原理 23319.3 開啟HibernateQueryCache 23719.4 本章小結(jié) 241第20章 未來Grails版本的新特性 24220.1 GORM的新特性 24220.1.1 更多的GORM事件 24220.1.2 映射基本類型的集合 24320.1.3 對Domain的只讀訪問 24320.1.4 定義默認排序字段 24320.1.5 改進的findBy 24520.2 對插件系統(tǒng)的改進 24520.3 數(shù)據(jù)綁定 24520.4 在GSP中使用JSP的標(biāo)簽 24620.5 加密配置文件中的數(shù)據(jù)庫密碼 24620.6 本章小結(jié) 246參考文獻 247索引 248

章節(jié)摘錄

  第1章 導(dǎo)論  1.1 RoR的革命與Web開發(fā)的新時代  隨著互聯(lián)網(wǎng)的普及和發(fā)展,絕大多數(shù)計算機應(yīng)用被設(shè)計為基于Web技術(shù)的Web應(yīng)用。Web應(yīng)用有著發(fā)布快捷、使用簡便、對客戶端要求低等優(yōu)勢。通過Web技術(shù),可以讓企業(yè)更容易發(fā)布服務(wù),也可以讓用戶更容易享受信息時代的便捷。Web的優(yōu)勢導(dǎo)致了Web開發(fā)的需求呈現(xiàn)出爆炸式的增長,進一步則對Web開發(fā)技術(shù)提出了更高的要求。  RoR(Ruby on Rails)的誕生就創(chuàng)造了一個這樣的奇跡,它在短短的幾年問,在無數(shù)如JSP、PHP等元老級的Web技術(shù)面前脫穎而出,并且給了整個J2EE世界以極大的震撼!正如RoR所標(biāo)榜的,它的開發(fā)效率是J2EE的5倍以上。這樣巨大的差異不可能不引起Java世界的反思?! ∈紫?,為什么Rails這樣成功的開發(fā)框架會誕生于Ruby語言,而且在其出現(xiàn)之后,Java世界并沒有產(chǎn)生能與之抗衡或者模仿它的框架呢?其次,Java在企業(yè)級開發(fā)中一直追求的重量級的大而全,真的是用戶的最想要嗎?

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Grails技術(shù)精解與Web開發(fā)實踐 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7