第一部分
第1章 脚本简介
1.1 背景
1.2 脚本语言的定义
1.2.1 编译器与解释器
1.2.2 产品中的源代码
1.2.3 类型策略
1.2.4 数据结构
1.2.5 代码作为数据
1.2.6 小结
1.3 脚本语言和虚拟机
1.4 脚本和系统编程的对比
1.4.1 运行时性能
1.4.2 开发速度
1.4.3 健壮性
1.4.4 维护
1.4.5 极限编程
1.5 混合法
1.6 一个脚本案例
1.7 小结
第2章 适用脚本语言的应用程序
2.1 组装
2.1.1 UNIX Shell语言
2.1.2 Perl
2.1.3 Tcl
2.2 原型
2.3 定制
2.4 软件开发支持
2.4.1 项目构建
2.4.2 测试
2.5 运维与管理
2.6 用户界面编程
2.7 用例2
2.7.1 Web应用程序
2.7.2 脚本和UNIX
2.7.3 游戏中的脚本
2.8 其他特征
2.8.1 可嵌入
2.8.2 可扩展
2.8.3 易于学习和使用
2.9 小结
第二部分
第3章 JVM内部的脚本语言
3.1 帽底乾坤
3.2 脚本语言概念
3.3 BeanShell
3.3.1 入门
3.3.2 基本语法
3.3.3 松类型的语法
3.3.4 语法风格
3.3.5 命令
3.3.6 方法
3.3.7 对象
3.3.8 实现接口
3.3.9 嵌入Java
3.4 Jython
3.4.1 入门
3.4.2 基本语法
3.4.3 使用Java
3.4.4 实现接口
3.4.5 异常处理
3.4.6 嵌入Java
3.4.7 小结
3.5 Rhino
3.5.1 入门
3.5.2 使用Java
3.5.3 实现接口
3.5.4 JavaAdapter
3.5.5 嵌入Java
3.5.6 Host Object
3.5.7 小结
3.6 Groovy
3.7 其他脚本语言
3.7.1 JRuby
3.7.2 Tcl/Java
3.7.3 JudoScript
3.7.4 ObjectScript
3.8 小结
第4章 Groovy
4.1 为什么需要Groovy
4.2 安装
4.3 运行Groovy脚本
4.3.1 用交互式的Shell
4.3.2 用交互式的控制台
4.3.3 执行脚本文件
4.4 编译Groovy脚本
4.4.1 依赖
4.4.2 Classpath
4.4.3 Ant Task
4.5 脚本结构
4.6 语言语法
4.6.1 Java兼容性
4.6.2 语句
4.6.3 松类型
4.6.4 类型技巧
4.6.5 String
4.6.6 GString
4.6.7 正则表达式
4.6.8 集合
4.6.9 逻辑分支
4.6.10 循环
4.6.11 类
4.6.12 操作符重载
4.6.13 GroovyBean
4.6.14 闭包
4.7 系统操作
4.7.1 文件
4.7.2 进程
4.8 嵌入Java
4.9 安全性
4.10 小结
第5章 高级的Groovy编程
5.1 GroovySQL
5.1.1 groovy.sql.Sql
5.1.2 groovy.sql.DataSet
5.2 Groovlet
5.3 Groovy模板
5.4 GroovyMarkup
5.4.1 groovy.xml.MarkupBuilder
5.4.2 groovy.util.NodeBuilder
5.4.3 groovy.xml.SaxBuilder
5.4.4 groovy.xml.DomBuilder
5.4.5 groovy.xml.Namespace
5.4.6 groovy.util.BuilderSupport
5.5 Groovy和Swing
5.5.1 TableLayout
5.5.2 TableModel
5.6 小结
第6章 Bean Scripting Framework
6.1 Bean Scripting Framework简介
6.2 入门
6.3 基本概念
6.3.1 架构
6.3.2 脚本语言的注册
6.3.3 管理器和引擎初始化
6.3.4 使用脚本
6.4 使用脚本文件
6.5 方法和函数
6.5.1 call()
6.5.2 apply()
6.6 数据绑定
6.6.1 注册Bean
6.6.2 声明Bean
6.7 编译
6.8 应用程序
6.8.1 JSP
6.8.2 XalanJ(XSLT)
6.9 小结
第三部分
第7章 在Java实践脚本
7.1 单元测试
7.1.1 JUnit基础知识
7.1.2 GroovyTestCase类
7.1.3 断言方法
7.1.4 测试套件
7.1.5 用脚本作为单元测试案例
7.1.6 小结
7.2 交互式调试
7.3 构建工具
7.3.1 BSF支持
7.3.2 GroovyMarkup(AntBuilder)
7.3.3 小结
7.4 Shell Scripting
7.4.1 Classpath
7.4.2 实例
7.5 管控和管理
7.6 小结
第8章 脚本模式
8.1 脚本化组件模式
8.1.1 问题
8.1.2 解决方案
8.1.3 结果
8.1.4 范例代码
8.1.5 相关模式
8.2 中介者模式(胶合代码模式)
8.2.1 问题
8.2.2 解决方案
8.2.3 结果
8.2.4 范例代码
8.2.5 相关模式
8.3 脚本对象工厂模式
8.3.1 问题
8.3.2 解决方案
8.3.3 结果
8.3.4 范例代码
8.3.5 相关模式
8.4 观察者(广播)模式
8.4.1 问题
8.4.2 解决方案
8.4.3 结果
8.4.4 范例代码
8.4.5 相关模式
8.5 扩展点模式
8.5.1 问题
8.5.2 解决方案
8.5.3 结果
8.5.4 范例代码
8.5.5 相关模式
8.6 Active File模式
8.6.1 问题
8.6.2 解决方案
8.6.3 结果
8.6.4 范例代码
8.7 小结
第四部分
第9章 Scripting API
9.1 动机和历史
9.2 简介
9.3 入门
9.4 架构
9.5 发现机制
9.6 引擎元数据
9.7 创建和注册脚本引擎
9.7.1 创建方法
9.7.2 注册方法
9.8 执行求值
9.9 ScriptException
9.10 绑定
9.10.1 引擎范围
9.10.2 全局范围
9.10.3 脚本上下文
9.11 代码生成
9.11.1 输出语句
9.11.2 方法调用语法
9.11.3 程序
9.12 其他引擎接口
9.12.1 可调用
9.12.2 可编译
9.13 线程
9.14 动态绑定
9.15 小结
第10章 Web Scripting Framework
10.1 架构
10.1.1 上下文
10.1.2 Servlet
10.1.3 交互
10.2 入门
10.3 配置
10.3.1 取消脚本
10.3.2 脚本路径
10.3.3 脚本方法
10.3.4 语言许可
10.3.5 显示结果
10.4 绑定
10.4.1 应用程序
10.4.2 请求
10.4.3 响应
10.4.4 Servlet
10.5 include方法
10.6 forward方法
10.7 会话共享
10.8 语言标签
10.9 线程问题
10.10 架构挑战
10.10.1 Java与PHP应用程序的整合
10.10.2 PHP Web应用程序中的Java业务逻辑
10.10.3 Java Web应用程序中的PHP视图
10.11 小结
第五部分
附录A Groovy的安装
附录B Groovy的IDE支持
附录C 安装JSR 223