《Grails权威指南》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)瑞切著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:7121052016
  • 页数:318 页
图书介绍:本书译自由Grails项目负责人Graeme Keith Rocher编写的《The Definitive Guide to Grails》,着重介绍了如何在Grails框架下使用Groovy语言进行敏捷的Web开发。本书详细讲解Grails开发的全部过程,包括项目构架、控制器与视图、与关系数据库之间的ORM映射,以及与Ajax和Java平台的无缝集成。同时该书也揭示了Grails对Java Web开发领域极大的推动作用。英文原版自出版后本书屡受大师佳评本书一共分为11章,所介绍的内容主要包括:Grails的目的与优势、Groovy语言基础与高级特性、Grails的工程项目结构、根据领域模型自动创建Web程序、在Grails中实现单元测试和功能测试、控制器的使用、Grails的高级视图技术GSP、在Grails中使用Ajax增强用户体验、Grails的高级特性及与Java的无缝集成。

第1章 寻找Grails之旅 1

1.1 Java的困惑 1

1.2 Web 2.0时代 2

1.3 Java的力量 3

1.4 什么是Grails 4

1.4.1 与Java集成 5

1.4.2 简单而强大 6

1.4.3 吸取的经验教训 7

1.5 使用Grails的原因 7

1.6 Grails入门 8

1.6.1 运行Grails命令 9

1.6.2 义不容辞的“Hello World!” 10

1.7 单元测试 14

1.8 本章小结 15

第2章 Groovy动态语言 17

2.1 Groovy和Java的异同 17

2.1.1 相同点 17

2.1.2 不同点 18

2.2 基础知识 19

2.1.1 类声明 19

2.2.2 语言级断言(Assertion) 20

2.2.3 Groovy字符串 20

2.2.4 闭包(Closures) 23

2.2.5 列表(List)和映射(Map) 24

2.2.6 Expando动态对象 26

2.2.7 范围(Range) 27

2.3 Groovy的高级特性 28

2.3.1 一切都是对象 28

2.3.2 元编程(Metaprogramming) 32

2.3.3 生成器(Builder) 32

2.4 本章小结 34

第3章 Grails工程基础架构 35

3.1 Grails工程结构 35

3.2 Grails和MVC模式 37

3.2.1 MVC中的模型(M) 38

3.2.2 MVC中的视图(V) 38

3.2.3 MVC中的控制器(C) 38

3.2.4 除MVC之外的其他部分 39

3.3 Grails支持多种环境 39

3.4 数据源配置 40

3.4.1 支持的数据库 43

3.4.2 配置自定义方言(Dialect) 45

3.5 引导Grails应用程序 45

3.6 配置日志(Logging) 46

3.6.1 启用SQL日志 47

3.6.2 日志记录(Logging)和环境 47

3.7 Grails命令行工具 48

3.7.1 在不同的端口上运行Grails应用程序 48

3.7.2 打包war存档文件(WAR Archive) 49

3.8 使用Grails控制台(Console)及命令解释程序(Shell) 50

3.8.1 使用命令行Shell 50

3.8.2 Grails控制台(Console) 50

3.9 IDE集成 51

3.9.1 安装Groovy-Eclipse插件 52

3.9.2 导入Grails工程 52

3.9.3 在Eclipse中运行Grails应用程序 54

3.10 本章小结 56

第4章 Grails中的域(Domain) 57

4.1 简化的ORM和Grails对象关系映射(GORM) 57

4.2 GORM基础 58

4.3 设置属性可选 61

4.4 GORM中的关系 61

4.5 执行CRUD操作 63

4.5.1 创建书签 64

4.5.2 读取书签 64

4.5.3 更新书签 64

4.5.4 删除书签 65

4.6 查询领域模型(Domain Model) 65

4.6.1 使用get方法和exists方法进行基本查询 65

4.6.2 列举(Listing),排序(Sorting)以及合计(Counting) 66

4.6.3 动态查找器(Finder)查询 67

4.6.4 使用HQL进行查询 69

4.6.5 按样本(Example)查询 69

4.6.6 使用条件(Criteria)查询 70

4.7 映射继承 75

4.8 验证领域(Domain)模型 77

4.8.1 使用域约束(Domain Constraints) 77

4.8.2 验证约束(Constraints) 80

4.8.3 自定义约束(Constraints) 81

4.8.4 回顾更新操作 82

4.9 本章小结 84

第5章 脚手架(Scaffolding) 85

5.1 动态脚手架 85

5.1.1 创建操作(Create) 87

5.1.2 读取操作(Read) 90

5.1.3 更新操作(Update) 91

5.1.4 删除操作(Delete) 94

5.1.5 重写(Overriding)CRUD操作 95

5.1.6 使用约束自定义字段 96

5.2 静态脚手架 98

5.2.1 生成控制器(Controller) 98

5.2.2 生成视图(Views) 102

5.3 本章小结 104

第6章 测试 105

6.1 编写高效的单元测试 106

6.1.1 使用assert关键字 108

6.1.2 使用测试数据 110

6.1.3 探索GroovyTestCase 111

6.1.4 测试实践 112

6.2 使用Mocks和Stubs 114

6.2.1 Mock实战 115

6.2.2 使用闭包修整(Closure Currying)定义测试数据 117

6.3 使用WebTest进行功能测试 121

6.3.1 安装WebTest 122

6.3.2 生成Web测试 124

6.3.3 执行Web测试 127

6.3.4 与表单交互 129

6.4 本章小结 130

第7章 Grails控制器(Controller) 133

7.1 控制器介绍 133

7.2 设置默认操作 135

7.3 访问Request属性 136

7.3.1 使用日志(Logging) 137

7.3.2 处理request参数 139

7.3.3 理解Flash作用域 140

7.4 创建模型(Model) 142

7.5 数据绑定和类型转换 143

7.5.1 领域模型(Domain Model)进行数据绑定 143

7.5.2 使用bindData方法进行数据绑定 145

7.6 用重定向控制流程 146

7.7 使用chain方法构造模型(Model) 148

7.8 显示响应(Response) 149

7.8.1 显示文本 150

7.8.2 显示指定的视图 150

7.8.3 显示标记(Markup) 151

7.9 拦截操作 152

7.9.1 Before通知 152

7.9.2 After通知 153

7.9.3 使用拦截器实现验证 153

7.10 处理文件上传 161

7.10.1 使用multipart请求 161

7.10.2 上传和数据绑定 163

7.11 本章小结 163

第8章 Groovy Server Pages 165

8.1 基础知识 165

8.1.1 理解模型 166

8.1.2 页面指今 166

8.1.3 Groovy Scriptlets 167

8.1.4 在GSP中使用GString 168

8.2 Grails内置标签 168

8.2.1 使用标签来设置变量 169

8.2.2 逻辑标签 169

8.2.3 迭代标签 171

8.2.4 过滤器和迭代 172

8.3 Grails动态标签 175

8.3.1 链接标签 176

8.3.2 创建表单和字段 178

8.3.3 验证和错误处理 182

8.4 国际化支持 184

8.4.1 〈g:message〉标签 184

8.5 使用布局和模板 185

8.5.1 布局演示 186

8.5.2 按照惯例布局 187

8.5.3 使用Meta标签进行布局 188

8.5.4 演示布局 188

8.5.5 理解模板 192

8.5.6 共享模板 194

8.5.7 重新讨论Render方法 195

8.6 对数据进行分页 196

8.7 创建自定义标签 198

8.7.1 创建标签库 199

8.7.2 自定义标签基础内容 199

8.7.3 演示自定义标签 200

8.7.4 测试自定义标签 203

8.8 本章小结 206

第9章 Ajax 207

9.1 Ajax基础知识 207

9.2 Ajax实战 210

9.2.1 在远程方法调用前后执行代码 218

9.2.2 事件处理 219

9.2.3 完善页面的更新 220

9.3 创建远程调用链接 221

9.4 实现Ajax效果(Effects) 223

9.5 如何处理JavaScript事件 224

9.6 以异步方式提交表单 226

9.7 关于Ajax性能的讨论 227

9.8 本章小结 228

第10章 服务(Services)和作业(Jobs) 229

10.1 服务基础知识 229

10.1.1 事务 230

10.1.2 服务和依赖注入 231

10.2 服务实战 232

10.2.1 示例A——扩展搜索功能 234

10.2.2 示例B——显示del.icio.us中的最新数据 239

10.2.3 测试服务 242

10.3 使用Quartz进行作业调度 243

10.3.1 简单的作业 243

10.3.2 Cron作业 244

10.4 作业实战 247

10.4.1 修改领域模型 248

10.4.2 实现控制器 249

10.4.3 创建视图和模板 250

10.4.4 作业调度 253

10.4.5 测试作业 259

10.5 使用调度程序 264

10.5.1 暂停和恢复作业 265

10.5.2 触发作业 266

10.5.3 增加和删除作业 266

10.6 本章小结 268

第11章 与Java集成 269

11.1 服务器端Java集成 269

11.2 通过集成Hibernate实现ORM 270

11.2.1 使用Hibernte XML映射 271

11.2.2 EJB3方式的映射 274

11.2.3 在POJO实体中使用约束 285

11.2.4 得到SessionFactory对象 287

11.3 使用Spring进行依赖注入 287

11.3.1 使用Grails中的Bean 287

11.3.2 重载Bean的定义 290

11.4 在Grails中使用Spring控制器 291

11.5 在Grails中使用Acegi 302

11.6 使用XFire创建SOAP服务 311

11.7 本章小结 315

附录 317