《基于Eclipse的开源框架技术与实战》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:甘树满编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:7121051028
  • 页数:647 页
图书介绍:当前,开源框架层出不穷,它为用户提供了通用的解决方案,同时也增加了用户的学习难度。开源是一把“双刃剑”,一方面它共享了资源,提供了一种基于开源框架的开发模式,缩短了软件的开发周期,另一方面,它对用户也提出了更高的要求,提高了入门的学习门槛。本书内容分为3部分:第1部分介绍常用开源框架;第2部分是Eclipse技术的学习;第3部分对基于Eclipse平台开发工具的研究与实现进行介绍。开发工具是“一根线”,它利用Eclipse技术,实现了一个构建Web应用的开发平台,支持开源框架的快速构建。常用开源框架介绍包括Web层框架Struts、数据持久化框架Hibernate、应用集成框架Spring及代码生成框架Velocity等,通过对这些框架的学习,可以大大降低开发人员入门的学习门槛,同时也为其他开源框架的学习奠定了基础。Eclipse开发技术主要包括SWT/JFace开发、Eclipse插件开发和GEF图形编辑框架介绍。通过这一部分的学习,读者将能够利用Eclipse相关技术开发Eclipse插件。最后,将结合对开源框架的认识,利用Eclipse开发技术,构建一个基于Eclipse的Web

第1部分 Eclipse及开源框架的应用第1章 Eclipse安装及使用 3

1.1 Eclipse基本概念 3

1.1.1 简介 3

1.1.2 体系结构 4

1.1.3 插件结构 4

1.2 Eclipse开发环境 5

1.2.1 工作空间 5

1.2.2 工作台 6

1.2.3 调试与运行 7

1.2.4 版本管理 7

1.3 工作台 8

1.3.1 资源 8

1.3.2 资源层次结构 8

1.3.3 构建 9

1.4 插件安装 9

1.4.1 注意事项 9

1.4.2 拷贝安装 10

1.4.3 links安装 10

1.4.4 update安装 11

1.4.5 查看插件 13

1.5 开发Java程序 14

1.5.1 Java项目 14

1.5.2 创建Java程序 15

1.5.3 运行程序与调试 16

1.5.4 类的构建路径 18

1.5.5 项目构建 18

1.6 常用快捷键 19

1.6.1 编辑相关快捷键 19

1.6.2 查看和定位快捷键 19

1.6.3 调试快捷键 20

1.6.4 常用编辑器快捷键 20

1.6.5 其他快捷键 20

1.7 Eclipse与开源 21

1.8 小结 22

第2章 单元测试与重构 23

2.1 单元测试 23

2.1.1 为什么需要单元测试 23

2.1.2 自信编码 23

2.1.3 JUnit 24

2.2 JUnit断言 24

2.2.1 assertEquals断言 24

2.2.2 assertTrue与assertFalse断言 25

2.2.3 assertNull与assertNotNull断言 25

2.2.4 assertSame与assertNotSame断言 25

2.2.5 fail断言 25

2.3 JUnit测试 26

2.3.1 TestCase测试类 26

2.3.2 TestSuite测试组 27

2.3.3 Setup与Tear-down 30

2.3.4 实现自定义的断言 32

2.4 使用Eclipse进行单元测试 33

2.4.1 创建测试用例 33

2.4.2 运行、调试测试用例 35

2.4.3 创建测试组 36

2.5 重构 37

2.6 使用Eclipse进行代码重构 38

2.6.1 结构性重构 39

2.6.2 类级别重构 43

2.6.3 类内部重构 46

2.6.4 Undo and Redo 50

2.7 小结 50

第3章 Web应用 51

3.1 Servlet与JSP 51

3.1.1 Servlet和JSP 51

3.1.2 Servlet和JSP的实现 53

3.2 Web组件的关联关系 55

3.2.1 请求转发 55

3.2.2 URL重定向 56

3.2.3 包含 56

3.3 Web.xml介绍 56

3.4 使用Tomcat插件开发Web应用 57

3.4.1 安装配置Tomcat插件 57

3.4.2 创建Tomcat项目 59

3.4.3 在Tomcat中运行调试Web应用 59

3.5 JSP标签 61

3.5.1 标签的处理过程 61

3.5.2 标签的处理类 62

3.5.3 标签的描述文件 63

3.5.4 JSP标签的实现 65

3.6 XML应用 66

3.6.1 XML的优势 66

3.6.2 简单XML文件 68

3.6.3 XML的语法 68

3.6.4 使用JDOM读写XML文档 70

3.7 AJAX应用 73

3.7.1 什么是AJAX 73

3.7.2 AJAX功能 74

3.7.3 XMLHttpRequest对象 74

3.7.4 AJAX实例 76

3.8 小结 80

第4章 Web应用框架Struts 81

4.1 Struts框架 81

4.1.1 Struts的起源 81

4.1.2 Struts简介 81

4.2 MVC模式 82

4.2.1 Mode11和Mode12简介 82

4.2.2 MVC在Struts中的应用 83

4.3 Struts应用的开发步骤 85

4.3.1 开发流程 85

4.3.2 配置Struts应用 86

4.4 Struts框架的应用:用户登录 88

4.4.1 需求 89

4.4.2 构建视图 89

4.4.3 构建模型 91

4.4.4 构建控制器 93

4.4.5 创建配置文件 94

4.4.6 Struts应用运行结果 97

4.5 通过StrutsIDE插件开发Struts应用 98

4.5.1 前提条件 98

4.5.2 开发Struts应用 98

4.6 小结 100

第5章 Struts开发实例:购物车 101

5.1 购物车的结构 101

5.1.1 实现的功能 101

5.1.2 数据处理流程 101

5.2 购物车的入口 102

5.2.1 Web.xml文件 102

5.2.2 Struts-config.xml文件 103

5.3 创建Action 108

5.3.1 基类及实现 108

5.3.2 购物车Action的实现 111

5.4 创建服务类 113

5.4.1 初始化工厂类 114

5.4.2 服务类 116

5.5 业务对象 119

5.6 购物车实现 121

5.7 部署及运行 124

5.8 小结 126

第6章 数据库应用 127

6.1 SQL语言 127

6.1.1 数据定义语句 127

6.1.2 数据查询语句 129

6.1.3 数据操纵语句 132

6.2 JDBC应用 133

6.2.1 概述 133

6.2.2 Connection对象 133

6.2.3 DriverManager对象 134

6.2.4 Statement对象 135

6.2.5 ResultSet对象 135

6.2.6 PreparedStatement对象 136

6.2.7 CallableStatement对象 137

6.3 JDBC实例 138

6.4 SQL Explorer插件 140

6.5 小结 143

第7章 对象持久化框架Hibernate 145

7.1 Hibernate概述 145

7.1.1 持久层解决方案 145

7.1.2 Hibernate处理方式 146

7.1.3 第三方库 147

7.2 对象/关系映射 147

7.2.1 持久化类 147

7.2.2 对象/关系映射描述文件 149

7.3 数据持久化 152

7.3.1 Hibernate处理流程 153

7.3.2 SessionFactory的配置 153

7.3.3 操作持久化数据 155

7.4 Hibernate查询语言 157

7.4.1 查询语句 157

7.4.2 where子句 159

7.4.3 分组与排序 159

7.4.4 统计函数 160

7.5 Hibernate实例 160

7.5.1 持久化类 161

7.5.2 Hibernate映射文件 163

7.5.3 Hibernate处理类 164

7.6 Hibernate Synchronizer插件 169

7.7 小结 171

第8章 Hibernate开发 173

8.1 Hibernate初始化 173

8.1.1 Hibernate配置文件 173

8.1.2 程序初始化 174

8.1.3 映射文件和持久化类 175

8.2 数据查询 177

8.2.1 选择与条件查询 177

8.2.2 分组与排序查询 178

8.2.3 使用SQL语句查询 179

8.2.4 Criteria查询 180

8.3 对象新增与更新 181

8.3.1 新增记录 181

8.3.2 更新加载记录 183

8.3.3 新增或更新记录 184

8.4 删除数据 184

8.4.1 指定ID删除记录 185

8.4.2 删除符合条件的记录 185

8.5 级联操作 186

8.5.1 映射文件和持久化类 186

8.5.2 实现 189

8.6 小结 192

第9章 应用整合框架Spring 193

9.1 概述 193

9.1.1 Spring框架 193

9.1.2 控制反转 194

9.1.3 面向方面的编程 195

9.2 控制反转IoC 196

9.2.1 容器 196

9.2.2 依赖注入 198

9.3 资源 200

9.3.1 Resource接口 201

9.3.2 内置Resource实现 202

9.4 IoC实例 203

9.4.1 描述文件 203

9.4.2 定义Bean的实现类 204

9.4.3 创建容器 205

9.5 面向方面AOP 206

9.5.1 AOP概念 206

9.5.2 Spring AOP的功能和目标 208

9.6 Spring AOP的实现 208

9.6.1 Spring中的切入点 208

9.6.2 Spring中的通知类型 210

9.6.3 ProxyFactoryBean创建AOP代理 213

9.7 AOP实例 215

9.7.1 描述文件 215

9.7.2 被代理对象及通知 217

9.7.3 主控类 219

9.8 小结 220

第10章 Spring整合Web应用 221

10.1 程序设计 221

10.1.1 功能需求 221

10.1.2 用户界面 221

10.1.3 程序结构 222

10.2 配置文件入口 222

10.3 服务层 225

10.3.1 Spring配置文件 225

10.3.2 实现类 227

10.4 Web层 228

10.4.1 Form实现 228

10.4.2 Action实现 230

10.5 数据访问层 233

10.5.1 持久化对象 233

10.5.2 数据访问对象 236

10.6 发送通知邮件 240

10.7 运行效果 243

10.8 小结 244

第11章 代码生成框架Velocity 245

11.1 Velocity简介 245

11.2 Helloworld实例 246

11.2.1 模板文件 246

11.2.2 Java程序 247

11.2.3 处理流程 248

11.3 基本语法 249

11.3.1 注释 249

11.3.2 引用 250

11.3.3 运算符 251

11.4 指令 253

11.4.1 赋值指令 253

11.4.2 条件指令 254

11.4.3 循环 254

11.4.4 包含 255

11.4.5 解析 255

11.4.6 停止 256

11.4.7 宏 256

11.5 模板嵌套 256

11.6 模板的编码格式 258

11.7 宏及方法调用 259

11.8 模板引擎和上下文 261

11.9 模板事件 262

11.10 生成动态页面 265

11.11 小结 268

第12章 ANT构建AppFuse应用 269

12.1 ANT简介 269

12.2 构建文件 270

12.2.1 构建文件描述 271

12.2.2 ANT常用任务 272

12.2.3 ANT命令行 276

12.3 ANT实例 277

12.4 AppFuse简介 279

12.5 使用AppFuse的理由 280

12.5.1 测试 280

12.5.2 集成 281

12.5.3 自动化 282

12.5.4 安全特性和可扩展性 282

12.5.5 使用AppGen生成代码 283

12.5.6 文档 283

12.5.7 社区 283

12.6 ANT构建AppFuse应用 283

12.6.1 开发环境 283

12.6.2 构建步骤 285

12.7 小结 292

第2部分 Eclipse的相关技术第13章 SWT组件 295

13.1 SWT简介 295

13.1.1 概述 295

13.1.2 基本特性 296

13.2 SWT程序 297

13.2.1 加入SWT依赖的包 297

13.2.2 “Hello world”程序 299

13.2.3 运行SWT应用 300

13.3 使用Swing组件 301

13.3.1 添加Swing的组件 301

13.3.2 程序运行效果 302

13.4 基类Control 303

13.4.1 继承关系 303

13.4.2 Control类的常用方法 304

13.5 常用组件 305

13.5.1 按钮 305

13.5.2 标签 306

13.5.3 文本框 307

13.5.4 下拉框 308

13.5.5 列表 310

13.6 容器组件 311

13.6.1 面板容器Composite 311

13.6.2 分组容器Group 313

13.6.3 分页签容器TabFolder和TabItem 314

13.6.4 分隔框容器SashForm 316

13.7 其他组件 318

13.7.1 菜单组件 318

13.7.2 工具栏组件ToolBar和ToolItem 320

13.7.3 工具栏组件CoolBar和CoolItem 323

13.7.4 滚动组件Slider 324

13.7.5 刻度组件Scale 326

13.7.6 进度条组件ProgressBar 328

13.8 小结 329

第14章 SWT事件与布局 331

14.1 事件介绍 331

14.2 鼠标事件 332

14.2.1 MouseListener接口 332

14.2.2 MouseMoveListener接口 332

14.2.3 MouseTrackListener接口 333

14.2.4 鼠标事件实例 333

14.3 键盘事件 335

14.3.1 KeyListener接口 336

14.3.2 键盘事件实例 336

14.4 焦点事件 337

14.4.1 FocusListener接口 337

14.4.2 焦点事件实例 338

14.5 窗口控制事件 339

14.5.1 ControlListener接口 339

14.5.2 窗口控制事件实例 340

14.6 选择事件 341

14.6.1 SelectionListener接口 341

14.6.2 选择组件事件实例 341

14.7 其他常用事件 342

14.7.1 HelpListener、VerifyListener和ModifyListener监听器的功能 342

14.7.2 HelpListener、VerifyListener和ModifyListener监听器实例 343

14.8 布局介绍 345

14.9 FillLayout布局 346

14.9.1 FillLayout的风格 346

14.9.2 FillLayout布局实例 347

14.10 RowLayout布局 348

14.10.1 RowLayout的风格 348

14.10.2 RowLayout布局实例 349

14.11 GridLayout布局 350

14.11.1 GridLayout的风格 351

14.11.2 GridData的相关属性 351

14.11.3 GridLayout布局实例 353

14.12 自定义布局 357

14.12.1 Layout类 357

14.12.2 创建自己的布局类 357

14.13 小结 360

第15章 Viewer组件与对话框 361

15.1 JFace程序 361

15.1.1 “Hello world”程序 361

15.1.2 运行“Hello world”程序 362

15.2 TreeViewer组件 362

15.2.1 TreeViewer构建步骤 362

15.2.2 内容提供器(ItreeContent-Provider) 363

15.2.3 标签提供器(ILabelProvider) 364

15.2.4 TreeViewer实例 364

15.3 TableViewer组件 368

15.3.1 TableViewer构建步骤 369

15.3.2 内容提供器(Istructured-ContentProvider) 369

15.3.3 标签提供器(ItableLabel-Provider) 369

15.3.4 TableViewer实例 370

15.4 消息对话框 379

15.4.1 消息对话框的功能 379

15.4.2 消息对话框实例 380

15.5 输入对话框 383

15.5.1 输入对话框的功能 383

15.5.2 输入对话框实例 383

15.6 进度监视对话框 385

15.6.1 进度监视对话框的功能 385

15.6.2 进度监视对话框实例 386

15.7 自定义对话框 388

15.7.1 带标题区域对话框 388

15.7.2 自定义对话框实例 389

15.8 常用系统对话框 392

15.8.1 打印对话框(PrintDialog) 392

15.8.2 颜色对话框(ColorDialog) 392

15.8.3 字体对话框(FontDialog) 393

15.8.4 文件对话框(FileDialog) 394

15.8.5 录对话框(DirectoryDialog) 395

15.9 小结 395

第16章 Eclipse插件开发 397

16.1 插件结构 397

16.1.1 简介 397

16.1.2 描述文件 397

16.2 插件调试 401

16.3 扩展视图 402

16.3.1 视图分类 402

16.3.2 常用视图可实现的功能 403

16.3.3 创建“Tree viewer”视图 403

16.3.4 “Tree viewer”插件扩展点 404

16.3.5 视图扩展点的实现类 405

16.3.6 运行“Tree viewer”视图 410

16.4 扩展编辑器 411

16.4.1 编辑器分类 411

16.4.2 常用编辑器可实现的功能 411

16.4.3 编辑器和视图的区别 412

16.4.4 自定义文本编辑器 412

16.4.5 实现类“FileEditor” 413

16.4.6 运行文本编辑器 415

16.5 扩展透视图 415

16.5.1 简介 416

16.5.2 扩展透视图 416

16.5.3 实现透视图 418

16.6 实现菜单工具栏 420

16.6.1 “actionSets”扩展点信息 420

16.6.2 实现类“SampleAction” 422

16.7 实现项目特性 422

16.7.1 项目扩展点 423

16.7.2 项目特性扩展点及实现类 423

16.7.3 构建器扩展点及实现类 425

16.7.4 工程向导扩展点及实现类 428

16.7.5 首选项页扩展点及实现类 430

16.8 实现联机帮助 432

16.8.1 联机帮助扩展点的实现 432

16.8.2 联机帮助文档的结构 433

16.8.3 在联机帮助中在线调用Java类 435

16.9 小结 436

第17章 图形编辑框架 437

17.1 GEF概述 437

17.1.1 GEF简介 437

17.1.2 GEF工作原理 437

17.2 模型 438

17.2.1 模型的功能 438

17.2.2 模型的实现 438

17.3 视图 442

17.3.1 视图的功能 442

17.3.2 视图的实现 443

17.4 控制器 444

17.4.1 控制器的功能 444

17.4.2 控制器的实现 444

17.5 请求和编辑策略 447

17.5.1 请求和编辑策略 447

17.5.2 编辑策略的实现 448

17.6 命令 449

17.6.1 命令的功能 449

17.6.2 命令的实现 449

17.7 模型同步 450

17.7.1 模型同步的功能 451

17.7.2 模型同步的实现 451

17.8 选项板 452

17.8.1 选项板(PaletteRoot)的功能 452

17.8.2 选项板的实现 452

17.9 小结 454

第3部分 基于Eclipse的开发工具第18章 开发工具的实现 457

18.1 开发工具的基本概念 457

18.1.1 业务平台与开发工具的关系 457

18.1.2 国内外开发工具的现状 458

18.1.3 开发工具的未来趋势 458

18.2 开发环境及工具运行前提 459

18.3 功能定义 460

18.3.1 模型驱动 460

18.3.2 模型编辑器 460

18.3.3 代码生成 461

18.3.4 插件结构及依赖关系 462

18.3.5 支持开发过程 463

18.4 开发工具工程创建向导 463

18.4.1 定义扩展点 463

18.4.2 实现向导 464

18.4.3 添加向导页 467

18.5 构建路径的实现 475

18.5.1 类路径扩展 475

18.5.2 初始化 475

18.5.3 构建类路径 476

18.6 启动初始化的实现 479

18.6.1 startup扩展点 479

18.6.2 startup扩展点实现 479

18.7 透视图的实现 481

18.7.1 透视图扩展点 481

18.7.2 透视图实现 481

18.8 首选项的实现 483

18.8.1 首选项扩展点 484

18.8.2 首选项实现 484

18.9 属性页的实现 486

18.9.1 属性页扩展点 486

18.9.2 属性页实现 487

18.10 小结 492

第19章 UML编辑器的实现 493

19.1 程序的软件结构 493

19.1.1 实现功能 493

19.1.2 程序的界面要求 494

19.1.3 模型的元数据 494

19.2 编辑器的实现 497

19.2.1 编辑器的功能 497

19.2.2 编辑器的实现 497

19.3 模型的实现 504

19.3.1 PropertyAwareObject类 505

19.3.2 Table类 506

19.3.3 Column类 510

19.3.4 Schema类 512

19.3.5 Relationship类 514

19.4 视图的实现 515

19.4.1 TableFigure类 515

19.4.2 SchemaFigure类 517

19.4.3 ColumnsFigure类 517

19.5 控制器的实现 518

19.5.1 TablePart的实现 518

19.5.2 RelationshipPart的实现 528

19.6 EditPartFactory和Palette的实现 530

19.6.1 SchemaEditPartFactory 530

19.6.2 PaletteRoot 531

19.7 EditPolicy的实现 533

19.7.1 TableNodeEditPolicy(模型连线的编辑策略) 533

19.7.2 TableLayoutEditPolicy(子模型布局的编辑策略) 535

19.7.3 TableContainerEditPolicy(处理模型创建请求的编辑策略) 536

19.7.4 TableEditPolicy(模型编辑的编辑策略) 537

19.7.5 TableDirectEditPolicy(处理直接编辑的编辑策略) 538

19.8 Command的实现 539

19.8.1 模型连线命令 539

19.8.2 模型拖动命令 542

19.8.3 模型创建命令 543

19.8.4 模型删除命令 544

19.8.5 模型直接编辑命令 546

19.9 大纲的实现 548

19.10 小结 549

第20章 代码生成插件 551

20.1 模型驱动 551

20.1.1 代码生成引擎 551

20.1.2 业务对象(BO)模型代码生成 551

20.1.3 流程定义模型代码生成 552

20.2 业务对象代码生成 555

20.2.1 业务对象生成Action 556

20.2.2 解析Ecore模型 558

20.2.3 持久化类模板 559

20.2.4 HBM文件模板 560

20.3 流程代码生成 562

20.3.1 流程代码生成Action 562

20.3.2 流程解析 564

20.3.3 流程模板 568

20.3.4 JET完成代码合并 570

20.4 代码生成模块的实现 573

20.4.1 代码生成公用类 573

20.4.2 流程代码生成基类 575

20.4.3 流程代码生成实现类 580

20.5 小结 582

第21章 开发工具的其他功能 583

21.1 生成数据表结构 583

21.1.1 生成数据表结构Action 583

21.1.2 生成数据表 584

21.2 发布部署 585

21.2.1 使用Tomcat插件 585

21.2.2 发布工程Action 586

21.2.3 处理发布进度 587

21.3 数据库导入 588

21.4 帮助插件 589

21.5 公用类 590

21.5.1 当前工程管理 590

21.5.2 异常管理 591

21.5.3 文件管理 592

21.6 有待添加的功能 598

21.7 小结 598

第22章 深入Eclipse开发 599

22.1 扩展属性视图 599

22.1.1 属性视图接口IPropertySource 600

22.1.2 属性视图的实现 601

22.2 扩展大纲视图 603

22.2.1 大纲视图接口IContentOutlinePage 603

22.2.2 大纲视图的实现 605

22.3 构造编辑器输入数据EditorInput 606

22.3.1 编辑器输入接口IEditorInput 606

22.3.2 IEditorInput的实现 607

22.4 操纵编辑器 609

22.4.1 查找编辑器 609

22.4.2 打开和关闭编辑器 610

22.5 选择与监听 610

22.5.1 选择事件提供者(Selection Provider) 611

22.5.2 选择服务(Selection Service) 612

22.5.3 选择事件监听器(Selection Listener) 614

22.5.4 实例 614

22.6 命令堆栈 617

22.6.1 命令堆栈(CommandStack) 617

22.6.2 监听器 619

22.7 适配器 619

22.7.1 适配器接口(IAdaptable) 620

22.7.2 适配器的实现 621

22.8 UI持久化 622

22.8.1 持久化机制 622

22.8.2 UI持久化与恢复的实现 623

22.9 深入Workbench 627

22.9.1 Workbench中实现类的关系 627

22.9.2 Part的生命周期 628

22.10 资源监听与访问 630

22.10.1 资源监听器 630

22.10.2 资源访问器 631

22.10.3 资源监听的实现 632

22.11 小结 634

附录A Tomcat安装及使用 635

A.1 Tomcat安装 635

A.2 Tomcat配置使用 635

附录B MySQL安装及使用 639

B.1 MySQL介绍 639

B.1.1 简介 639

B.1.2 准备条件 639

B.1.3 安装组件 640

B.1.4 使用配置向导 640

B.2 安装及使用 640

B.2.1 安装MySQL 640

B.2.2 MySQL使用 641

附录C CVS管理 643

C.1 术语 643

C.2 模块的输入与输出 644

C.2.1 连接CVS服务器 644

C.2.2 导入Eclipse项目 644

C.2.3 导出Eclipse项目 645

C.3 日常操作 645

C.3.1 提交(Commit) 646

C.3.2 更新(Update) 647

C.3.3 比较、替换 647