
本书对Flex和JSP技术进行了归纳总结,覆盖了Flex和JSP技术的知识和应用场景。本书共分为5篇,分别是JSP网站开发篇、ActionScript脚本语言篇、Flex组件篇、Flex数据交互篇和综合实例篇。全书介绍了JSP常规开发基础知识,Flex的脚本语言ActionScript的开发知识,使用Flex组件设计应用程序的各种布局,Flex数据交互知识。本书最后一篇介绍了两个综合开发实例,介绍了服务器端使用JavaBean、Hibernate框架和MySQL数据库的应用知识。
本书适合网站开发人员、JSP和Flex开发人员以及编程爱好者学习和参考,也可以作为Flex的教学参考资料。
JSP(Java Server Pages)是由Sun Microsystems公司倡导、众多公司参与建立的一种动态网页技术标准。JSP技术是在Servlet技术基础上形成的,并继承了Java语言的多种优势,如安全性、支持多线程和平台无关性等。与其他动态网页技术相比较,具有运行速度快和安全等特点。
Flex 是Adobe公司支持RIA(Rich Internet Applications)开发和部署的平台,它是一系列发展中的技术和产品线的概括词,试图通过提供一个程序员们已经熟知的工作流和编程模型,让程序员比从前更快、更简单地开发动画及RIA应用。在多层式开发模型中,Flex应用属于表现层。Flex的语言和文件结构可以把应用程序的逻辑从设计中分离出来。
1.本书内容
本书对Flex和JSP两种流行的技术进行了归纳总结,覆盖了Flex和JSP技术的知识和应用场景。本书共分为5篇,分别是JSP网站开发篇、ActionScript脚本语言篇、Flex组件篇、Flex数据交互篇和综合实例篇。各篇主要内容如下。
第1篇:JSP网站开发篇(第1~4章)。主要针对JSP初学者介绍了常规开发的必备知识,包括构建JSP运行环境、JSP页面元素、JavaBean、Servlet、JSP对文件的读写操作、文件的上传和下载,以及实现对数据库的增加、删除、修改和查询,最后对如何解析和操作XML进行了简单介绍。
第2篇:ActionScript脚本语言篇(第5~9章)。主要介绍Flex内的脚本语言ActionScript,像ActionScript的控制语句、自定义类和内置类等。其中,第5章以创建第一个Flex程序为例向读者介绍Flex环境的配置以及Flex Builder 3的基本操作;第6章主要介绍ActionScript的语法和面向对象的支持,如常量、变量、数据类型、运算符、对象、类、属性和方法等;第7、8章介绍如何处理字符串、数组、XML、正则表达式、日期和时间、数学运算、网络编程以及对话框;第9章介绍Flex的事件机制,重点是使读者理解事件的工作流程、了解Event对象并掌握如何使用自定义事件。
第3篇:Flex组件篇(第10~14章)。主要介绍如何使用Flex组件设计应用程序的各种布局。其中,第10章首先对组件的标记语言MXML进行介绍,接下来介绍Flex组件的分类、组件之间的继承关系以及布局过程;第11、12章详细介绍Flex中的基础类组件、导航类组件、布局类组件、容器类组件以及数据验证和格式化组件:第13章主要介绍如何使用行为、对象状态和动画效果制作绚丽的界面效果;第14章主要介绍如何创建用户自定义的组件,为组件定义CSS样式、主题和皮肤。
第4篇:Flex数据交互篇(第15~17章)。主要针对数据交互方面进行介绍,其中第15章介绍Flex 3.0中的数据存储模型和数据绑定,以及数据显示的DataGrid和Repeater组件;第16章介绍使用HTTPService、WebService、LCDS和Remoting方式数据交互的内容,最后还对共享对象的使用进行了简单介绍;第17章向读者介绍Flex的一些高级编程内容,像如何嵌入外部资源、实现应用程序本地化、处理光标以及实现拖放操作等。
第5篇:综合实例篇(第18、19章)。这一篇包括两个实例,在服务器中均使用了JavaBean、Hibernate框架和MySQL数据库。其中,第18章使用LCDS实现了一个基于Flex的学生成绩管理系统,主要包括班级管理、科目管理、学生管理和成绩管理等;第19章同样使用LCDS实现了一个基于Flex的BBS实例,主要包括用户注册/登录、浏览帖子、发表帖子和回复帖子等。
2.本书特色
本书采用大量的实例进行讲解,力求通过实例使读者更形象地理解ActionScript的编程思想,快速掌握Flex的组件开发。本书难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。
? 知识点全 本书紧紧围绕Flex与JSP进行RIA程序开发展开讲解,具有很强的逻辑性和系统性。
? 实例丰富 书中各实例均经过作者精心设计和挑选,它们都是根据作者在实际开发中的经验总结而来,涵盖了在实际开发中所遇到的各种问题。
? 应用广泛 对于精选案例,步骤详细、结构清晰简明、分析深入浅出,而且有些程序能够直接在项目中使用,避免读者进行二次开发。
? 基于理论,注重实践 在讲述过程中不仅仅只介绍理论知识,而且在合适位置安排综合应用实例,或者小型应用程序,将理论应用到实践当中,来加强读者实际应用能力,巩固Flex开发基础和知识。
? 随书光盘 本书为实例配备了视频教学文件,读者可以通过视频文件更加直观地学习Flex和JSP的使用知识。
? 网站技术支持 读者在学习或者工作的过程中,如果遇到实际问题,可以直接登录www.itzcn.com与我们取得联系,作者会在第一时间内给予帮助。
3.读者对象
本书具有知识全面、实例精彩、指导性强的特点,力求以全面的知识及丰富的实例来指导读者透彻地学习Flex各方面的知识。本书可以作为Flex的入门书籍,也可以帮助中级读者提高技能,具有一定的启发意义。
本书适合以下人员阅读学习。
? JSP技术开发人员。
? Flex应用开发人员。
? 动态网站建设及开发人员。
? Flex开源项目爱好者。
? RIA应用爱好者。
? 其他Web编程爱好者。
除了封面署名人员之外,参与本书编写的还有胡振中、于永军、张秋香、李乃文、张仕禹、夏小军、赵振江、李振山、李文才、李海庆、何永国、李海峰、陶丽、吴俊海、安征、张巍屹、崔群法、王咏梅、康显丽、辛爱军、牛小平、贾栓稳、王立新、苏静、赵元庆、郭磊、徐铭、李大庆、王蕾、张勇、郝安林、郭新志、牛丽平、唐守国等。在编写过程中难免会有漏洞,欢迎读者与我们联系,帮助我们改正提高。
编者
2009年6月
II
III
第1篇 JSP网站开发篇
第1章JSP概述 2
1.1 JSP简介 2
1.2 构建JSP运行环境 3
1.2.1 安装与配置JDK 4
1.2.2 安装Tomcat 5
1.2.3 安装与配置Eclipse 6
1.3 JSP页面元素 8
1.3.1 JSP指令元素 8
1.3.2 JSP脚本元素 12
1.3.3 JSP动作元素 14
1.4 请求对象request 17
1.4.1 request介绍 17
1.4.2 使用request获取客户端参数 18
1.4.3 使用request获取基本信息 20
1.4.4 request使用中处理乱码问题 20
1.5 响应对象response 22
1.5.1 response介绍 22
1.5.2 使用response设定响应 23
1.5.3 使用response重定向 23
1.6 会话对象session 24
1.6.1 session介绍 24
1.6.2 使用session绑定会话 25
1.7 全局应用程序对象application 26
1.7.1 application介绍 26
1.7.2 使用application做计数器 27
1.8 其他对象 27
1.8.1 out对象 27
1.8.2 exception对象 28
1.8.3 page和config对象 28
第2章 JSP高级技术 29
2.1 JavaBean简介 29
2.1.1 JavaBean定义 29
2.1.2 JavaBean规则 30
2.2 JavaBean开发 31
2.2.1 调用JavaBean 31
2.2.2 JavaBean作用域范围 32
2.3 设置和获取JavaBean属性 34
2.3.1 设置JavaBean属性 34
2.3.2 获取JavaBean属性 35
2.4 Servlet简介 37
2.4.1 什么是Servlet 37
2.4.2 Servlet技术的特点 37
2.4.3 Servlet的生命周期 38
2.4.4 开发、部署一个简单的Servlet 39
2.5 Servlet常用接口的使用 42
2.5.1 Servlet实现相关 42
2.5.2 Servlet配置相关 44
2.5.3 Servlet异常相关 44
2.5.4 请求和响应相关 45
2.5.5 会话跟踪 46
2.5.6 Servlet上下文 47
2.5.7 Servlet协作 48
2.5.8 过滤 48
2.6 使用HttpServlet处理客户端请求 49
2.7 获得Servlet初始化参数 51
2.8 使用Servlet生成动态图片 54
第3章 JSP处理外部数据 57
3.1 文件操作核心类File 57
3.1.1 获取文件属性 58
3.1.2 创建和删除文件 59
3.1.3 遍历 60
3.2 文件读写操作 63
3.2.1 基于字节流的文件读写 63
3.2.2 基于字符流的文件读写 65
3.2.3 基于数据流的文件读写 65
3.2.4 基于对象流的文件读写 66
3.2.5 随机文件读写 66
3.3 JSP文件上传下载管理实例 67
3.3.1 序列化Java类FileItem 67
3.3.2 文件上传 68
3.3.3 文件下载 71
3.4 JDBC技术介绍 73
3.5 JDBC数据库操作核心接口 76
3.5.1 数据库连接接口Connection 76
3.5.2 SQL声明接口Statement 77
3.5.3 查询结果接口ResultSet 79
3.5.4 管理驱动程序接口Driver
Manager 81
3.6 JDBC数据库操作实例 83
3.6.1 新建数据库 83
3.6.2 添加数据 85
3.6.3 查询数据 87
3.6.4 更新及删除数据 88
3.6.5 数据库分页显示 89
第4章 访问XML 92
4.1 XML概述 92
4.1.1 XML与HTML 92
4.1.2 XML逻辑结构 93
4.1.3 XML实体结构 95
4.1.4 DTD规则 98
4.1.5 解析XML 101
4.2 DOM解析接口 102
4.2.1 DOM核心对象 102
4.2.2 DOM文档树结构 103
4.2.3 使用DOM创建XML文件 105
4.2.4 使用DOM读取XML文件 109
4.3 SAX解析接口 111
4.3.1 SAX对象 111
4.3.2 使用SAX读取XML文件 112
4.4 使用XML文件进行站点配置 114
第2篇 ActionScript脚本语言篇
第5章 创建第一个Flex程序 118
5.1 RIA简介 118
5.2 什么是Flex 120
5.2.1 Flex简介 120
5.2.2 Flex工作原理 120
5.2.3 Flex与Flash 122
5.2.4 Flex与Ajax 123
5.2.5 Flex与服务器端通信 124
5.3 Flex 3.0概述 126
5.4 Flex 3.0组成部分 126
5.4.1 ActionScript语言 127
5.4.2 MXML语言 128
5.4.3 Flex类库 128
5.5 创建前的准备工作 129
5.5.1 安装Flex Builder 3 129
5.5.2 选择项目类型 131
5.6 开始设计界面 134
5.6.1 主编辑区 134
5.6.2 组件面板 135
5.6.3 属性面板 137
5.6.4 资源面板 137
5.7 实现效果 139
5.7.1 编写代码 139
5.7.2 运行程序 141
5.8 调试程序 142
5.8.1 设置断点 142
5.8.2 使用trace()函数 144
5.9 Flex Builder其他操作 145
5.9.1 使用快捷键 145
5.9.2 使用帮助文档 146
5.9.3 自定义Flex Builder 3工作环境 146
第6章 ActionScript 3.0编程 149
6.1 常量 149
6.2 变量 150
6.3 数据类型 151
6.3.1 基本数据类型 152
6.3.2 复合数据类型 152
6.4 数据类型检查和转换 153
6.4.1 编译时类型检查 153
6.4.2 运行时类型检查 154
6.4.3 类型转换 156
6.4.4 is和as运算符 157
6.5 运算符 158
6.5.1 运算符分类 158
6.5.2 运算符等级 160
6.6 控制语句 161
6.6.1 条件语句 161
6.6.2 循环语句 165
6.6.3 跳转语句 170
6.7 函数 172
6.7.1 定义函数 173
6.7.2 调用函数 174
6.7.3 返回值 174
6.7.4 传递参数 175
6.8 类 178
6.8.1 定义类 178
6.8.2 成员修饰符 180
6.8.3 构造函数 181
6.8.4 定义属性 182
6.8.5 方法 184
6.8.6 继承 187
6.9 接口 189
6.9.1 定义接口 189
6.9.2 实现接口 189
6.10 包和命名空间 191
6.10.1 包 191
6.10.2 命名空间 192
第7章 ActionScript核心类 194
7.1 字符串 194
7.1.1 创建字符串 194
7.1.2 取出字符 196
7.1.3 操作字符串 197
7.2 数组 201
7.2.1 创建数组 201
7.2.2 访问数组元素 202
7.2.3 操作数组 202
7.2.4 关联数组 204
7.3 XML 205
7.3.1 创建XML对象 206
7.3.2 获取XML数据 207
7.3.3 查找XML数据 211
7.3.4 添加XML数据 213
7.4 正则表达式 215
7.4.1 正则表达式语法 216
7.4.2 RegExp类 217
第8章 常用内置类 220
8.1 显示内容类 220
8.1.1 Flash Player显示架构 220
8.1.2 核心显示类 221
8.2 日期和时间 222
8.2.1 Date类构造函数 222
8.2.2 Date类属性 224
8.2.3 Timer类 225
8.3 数学运算 227
8.4 网络编程 228
8.4.1 Socket类 229
8.4.2 使用Socket类 229
8.4.3 邮件查看器 230
8.5 弹出对话框 234
8.5.1 Alert类 234
8.5.2 使用Alert类 235
第9章 处理Flex事件 239
9.1 事件概述 239
9.1.1 事件组成部分 239
9.1.2 事件流 240
9.1.3 事件处理模型 242
9.1.4 事件启动顺序 244
9.2 Flex事件对象 247
9.2.1 创建Event类 247
9.2.2 Event类属性 247
9.2.3 Event类方法 248
9.2.4 Event类常量 248
9.2.5 继承Event类 249
9.3 事件处理流程 249
9.3.1 监听事件 249
9.3.2 调度事件 253
9.3.3 管理事件监听器 255
9.4 内置事件类型 258
9.4.1 时间类 258
9.4.2 鼠标类 260
9.4.3 键盘类 262
9.5 用户自定义事件 264
9.5.1 创建自定义事件 264
9.5.2 创建自定义事件类 264
9.5.3 购物车 267
第3篇 Flex组件篇
第10章 Flex组件基础 274
10.1 MXML语言概述 274
10.1.1 MXML命名规范 274
10.1.2 MXML文件结构 275
10.1.3 MXML与ActionScript的关系 277
10.1.4 结合ActionScript方式 278
10.2 组件简介 280
10.2.1 组件分类 280
10.2.2 继承关系 281
10.3 组件布局 282
10.3.1 布局过程 282
10.3.2 组件大小 283
10.3.3 组件定位 286
第11章 使用容器设计页面布局 289
11.1 设计Application布局 289
11.2 管理程序布局 292
11.2.1 VBox和HBox 292
11.2.2 Canvas 294
11.2.3 HDividedBox和VDividedBox 295
11.3 窗口模式布局 298
11.3.1 Panel 298
11.3.2 TitleWindow 300
11.4 自适应布局 302
11.4.1 Tile 303
11.4.2 Grid 305
11.5 导航布局 307
11.5.1 ViewStack 307
11.5.2 Accordion 310
11.5.3 TabNavigator 311
11.6 表单布局 313
11.6.1 创建远程桌面连接表单 314
11.6.2 表单验证 315
第12章 使用Flex组件 321
12.1 基础类组件 321
12.1.1 文本类 321
12.1.2 按钮类 325
12.1.3 选择类 327
12.1.4 列表类 332
12.1.5 日期类 336
12.1.6 图像类 339
12.1.7 视频类 340
12.1.8 其他组件 342
12.2 导航类组件 349
12.2.1 标准导航 349
12.2.2 选择类 351
12.2.3 下拉菜单 353
12.2.4 弹出类 355
12.3 数据格式化 359
12.3.1 格式化组件简介 359
12.3.2 使用格式化组件 360
第13章 设计Flex组件行为和动画 368
13.1 什么是行为对象 368
13.1.1 行为对象简介 368
13.1.2 使用行为 369
13.2 组件行为 372
13.2.1 组件触发器和动画 372
13.2.2 监听动画 375
13.2.3 应用动画效果 376
13.3 状态 382
13.3.1 创建状态 382
13.3.2 为状态使用过渡效果 385
第14章 自定义Flex组件 387
14.1 创建组件 387
14.1.1 组件创建原则 387
14.1.2 MXML创建 388
14.1.3 ActionScript创建 392
14.2 定义样式 395
14.2.1 样式定义规则 396
14.2.2 创建样式 398
14.2.3 使用样式 400
14.3 定义主题 406
14.3.1 主题简介 406
14.3.2 使用主题 407
14.3.3 自定义主题 410
14.4 定义皮肤 412
14.4.1 皮肤组成部分 412
14.4.2 使用嵌入图形资源 413
14.4.3 使用编程方式 414
第4篇 Flex数据交互篇
第15章 Flex数据存储和显示 418
15.1 数据存储 418
15.1.1 使用组件存储 418
15.1.2 使用脚本存储 422
15.1.3 使用类存储 423
15.2 数据绑定 425
15.2.1 数据绑定机制 426
15.2.2 使用{}绑定 426
15.2.3 使用Bindable绑定 429
15.2.4 使用<mx:Binding>组件绑定 432
15.2.5 使用脚本绑定 434
15.3 DataGird组件 437
15.3.1 显示数据 437
15.3.2 获取行数据 439
15.3.3 自定义列 440
15.3.4 编辑数据 441
15.4 Repeater组件 446
15.4.1 创建Repeater组件 446
15.4.2 使用Repeater组件 448
第16章 Flex与外部数据通信 451
16.1 数据传输方式 451
16.1.1 文件流方式 452
16.1.2 XML方式 453
16.2 与Web页面通信 456
16.2.1 使用flashVars属性 456
16.2.2 获取URL信息 458
16.2.3 使用navigateToURL()方法 459
16.2.4 使用ExternalInterface类 461
16.3 使用HTTPService组件 466
16.3.1 HTTPService组件简介 466
16.3.2 制作通讯录 469
16.4 使用WebService组件 488
16.4.1 WebService组件简介 488
16.4.2 WebService组件实例 490
16.5 使用LCDS与服务端通信 492
16.5.1 LCDS介绍 492
16.5.2 LCDS的应用 494
16.6 Remoting技术 495
16.6.1 Remoting介绍 495
16.6.2 使用Remoting访问服务端 497
16.7 共享对象 501
第17章 Flex高级编程 503
17.1 嵌入外部资源 503
17.1.1 嵌入语法 503
17.1.2 嵌入方式 504
17.2 应用程序本地化 506
17.2.1 应用程序本地化简介 506
17.2.2 实现应用程序本地化 507
17.3 光标管理 514
17.3.1 使用自定义光标 514
17.3.2 使用忙碌光标 516
17.4 处理拖放 517
17.4.1 拖放实现机制 517
17.4.2 实现基本的列表类拖放 518
17.4.3 在同一组件上实现拖放 520
17.4.4 拖放行为类 521
17.4.5 实现手动拖放 522
第5篇 综合实例篇
第18章 基于Flex的学生成绩
管理系统 526
18.1 系统介绍 526
18.1.1 系统功能需求 526
18.1.2 系统结构 527
18.2 数据库设计 528
18.2.1 设计数据表 528
18.2.2 创建Hibernate映射 529
18.2.3 创建数据库连接 531
18.3 数据库访问 533
18.3.1 Hibernate访问班级数据 533
18.3.2 Hibernate访问科目数据 537
18.3.3 Hibernate访问学生数据 540
18.3.4 Hibernate访问成绩数据 542
18.4 Flex端设计 545
18.4.1 服务端访问配置 545
18.4.2 ActionScript实体类 546
18.4.3 构建添加或修改班级窗口 546
18.4.4 构建【添加学生】窗口 551
18.4.5 构建【班级管理】窗口 553
18.4.6 构建【学生成绩管理】窗口 559
18.4.7 构建【科目管理】窗口 563
18.4.8 构建主界面 564
18.5 数据操作类 565
18.5.1 班级数据操作类 565
18.5.2 学生数据操作类 570
18.6 运行系统 573
18.6.1 主界面 573
18.6.2 学生成绩管理 574
18.6.3 科目管理 575
18.6.4 添加学生 576
第19章 基于Flex的BBS实例 577
19.1 BBS介绍 577
19.1.1 BBS功能需求 577
19.1.2 BBS功能模块 578
19.2 数据库设计 578
19.2.1 设计数据表 578
19.2.2 创建Hibernate映射 580
19.2.3 数据库连接 581
19.3 数据库访问 584
19.3.1 Hibernate访问用户数据 584
19.3.2 Hibernate访问板块数据 586
19.3.3 Hibernate访问帖子数据 588
19.4 Flex端设计 593
19.4.1 服务端访问配置 593
19.4.2 ActionScript实体类 594
19.4.3 构建【注册】/【登录】窗口 594
19.4.4 构建【发表新帖】窗口 599
19.4.5 构建帖子浏览和帖子回复窗口 601
19.4.6 构建板块窗口 606
19.4.7 构建主界面 610
19.5 数据操作类 613
19.5.1 用户数据操作类 613
19.5.2 帖子数据操作类 615
19.5.3 板块数据操作类 619
19.6 运行BBS 620
19.6.1 主界面 620
19.6.2 登录和注册 620
19.6.3 发表新帖 622
19.6.4 浏览帖子和回复帖子 623
X
XI