标题：JSFWeb应用开发实战
版权信息
书 名: JSFWeb应用开发实战
  作　者：麻地河
出版社： 机械工业出版社
出版时间： 2008
ISBN: 9787111240808
开本： 16
定价: 65.00 元
作者简介
李文兵中国最早一代PC程序员，从事软件开发超过20年，见证了中国软件行业发展的全部历程，熟悉多种编程语言。他曾就职于若干软件企业，担任程序员、高级程序员、系统分析员、项目经理、测试部主管、开发部经理及技术总监等职，参与过多个软件项目的开发，涉及通信、外贸、制造、金融、移动通信和电信等诸多应用领域。在从程序编码、系统设计、需求分析到软件测试的各个软件工程环节上，均具有扎实的理论基础和丰富的实践经验。李文兵从2006年开始尝试IT写作，并以“麻地河”为笔名在lTl68上发表过多篇技术和评论文章，以阅历丰富、观点独到、文笔流畅见长，善于用朴素的语言解释深奥的技术，深受读者喜爱。
编辑推荐
JSF是未来JavaWeb开发的标准框架,得到业界大公司的鼎力支持。从JavaEE5开始,JSF已经上升为Java官方规范的强制部分。JSF极大地简化了JavaWeb的开发，充分体现出Sun“简化Java开发”的宗旨。
《JSFWeb应用开发实战》从实用的角度介绍JSFWeb开发技术，具有以下特色：·立足于JSF技术在实际编程中的运用，包含50多个范例,帮助读者通过实践掌握JSF的精髓。
·通过一个完整的论坛系统的实例文档和代码，带领读者体验JSF应用开发的全过程。
·结合最流行的NetBeans6开发工具讲解。
·从组件模型到请求处理生命周期，囊括JSF的全部技术要点。
·循序渐进，由浅入深，大大降低学习难度。
目录
序言
前言
第1章JSF简介1
1.1JSF概述1
1.1.1JSF的定义1
1.1.2JSF与MVC设计模式2
1.1.3JSF设计目标3
1.2JSF的优势4
1.2.1可视化开发5
1.2.2可重用UI组件7
1.2.3集中式页面导航8
1.2.4事件驱动8
1.2.5表示层和业务层的分离9
1.2.6用户界面到业务逻辑的直接映射9
1.2.7清晰的角色分工10
1.2.8Web开发的官方标准之一11
1.3JSF的开发工具NetBeans11
1.3.1NetBeans简介12
1.3.2NetBeans版本13
1.3.3安装NetBeans14
1.3.4熟悉NetBeans的界面14
1.3.5配置应用服务器15
1.3.6配置数据库服务器16
1.3.7JSF,就是这么简单17
第2章快速入门18
2.1一个简单的JSF例子：WebLogin程序18
2.2WebLogin的概要设计19
2.2.1业务功能设计19
2.2.2网页设计19
2.2.3导航设计21
2.2.4应用集成设计22
2.3WebLogin的详细设计22
2.3.1创建JSF项目22
2.3.2编写用户身份验证的业务逻辑24
2.3.3编写网页25
2.3.4配置页面导航32
2.3.5应用集成34
2.4运行WebLogin42
第3章UI组件43
3.1UI组件概述43
3.1.1组件的功能43
3.1.2组件和组件类44
3.1.3组件和页面Bean的关系45
3.1.4组件的事件及其响应46
3.1.5组件外观和CSS47
3.2组件的一般属性49
3.2.1id属性49
3.2.2style属性49
3.2.3styleClass属性50
3.2.4required属性51
3.2.5toolTip属性52
3.2.6disabled属性53
3.2.7visible属性55
3.2.8rendered属性57
3.2.9tabIndex属性58
3.3基本组件59
3.3.1标签组件59
3.3.2静态文本组件62
3.3.3文本字段组件64
3.3.4文本区域组件68
3.3.5按钮组件71
3.3.6超级链接组件76
3.3.7图像超级链接组件79
3.3.8下拉列表组件79
3.3.9列表框组件85
3.3.10复选框组件88
3.3.11复选框组组件90
3.3.12单选按钮组件93
3.3.13单选按钮组组件94
3.3.14图像组件94
3.3.15表组件95
3.3.16表行组组件100
3.3.17表列组件101
3.3.18口令字段组件104
3.3.19隐藏字段组件105
3.3.20日历组件108
3.3.21文件上传组件109
3.3.22树组件112
3.3.23树节点组件113
3.3.24锚点组件117
3.3.25消息组件118
3.3.26消息组组件119
3.4虚拟表单120
3.4.1虚拟表单的定义121
3.4.2虚拟表单的用途122
第4章页面导航127
4.1页面导航概述127
4.1.1Web应用的页面与导航127
4.1.2集中式的JSF页面导航128
4.1.3页面导航的可视化设计130
4.1.4导航规则131
4.2在JSF页面中导航132
4.2.1导航的触发132
4.2.2触发导航的组件类型133
4.2.3静态导航和动态导航134
4.2.4用动作类组件实现静态导航134
4.2.5在动作类组件的静态导航中加入业务逻辑136
4.2.6用输入类组件实现静态导航136
4.2.7用动作类组件实现动态导航137
4.2.8用导航实现页面刷新重载138
4.3高级导航应用141
4.3.1从任意页面导航到指定页面142
4.3.2在导航页面之间传递参数144
第5章托管Bean和统一表达式语言EL150
5.1托管Bean和EL概述150
5.1.1托管的含义150
5.1.2用EL访问托管Bean152
5.1.3托管Bean和EL的用途153
5.2托管Bean的范围154
5.2.1请求范围157
5.2.2会话范围158
5.2.3应用范围159
5.2.4使用正确的范围160
5.3绑定161
5.3.1值绑定162
5.3.2动作类组件的方法绑定164
5.3.3输入类组件的方法绑定166
5.3.4实例绑定169
5.4使用页面Bean171
5.4.1页面和页面Bean171
5.4.2页面Bean的生命周期方法172
5.4.3响应动作事件174
5.4.4响应值改变事件175
5.4.5动态生成UI组件176
5.5使用请求Bean178
5.5.1默认的和自定义的请求Bean178
5.5.2请求Bean的生命周期方法179
5.5.3在相邻页面之间传递参数180
5.6使用会话Bean184
5.6.1会话和会话Bean184
5.6.2默认的和自定义的会话Bean186
5.6.3会话Bean的生命周期方法187
5.6.4管理会话189
5.6.5跨页面共享信息194
5.7使用应用Bean196
5.7.1Web应用和应用Bean196
5.7.2默认的和自定义的应用Bean197
5.7.3应用Bean的生命周期方法198
5.7.4跨会话共享信息199
第6章事件驱动202
6.1Java事件驱动概述202
6.1.1事件驱动模式概述202
6.1.2事件类203
6.1.3监听器接口204
6.1.4监听器205
6.1.5事件源205
6.1.6事件驱动的实例211
6.2JSF的事件驱动模式212
6.2.1JSF事件类213
6.2.2JSF监听器接口214
6.2.3JSF监听器214
6.2.4JSF监听器的注册215
6.2.5JSF的回调方法216
6.2.6JSF的事件队列218
6.3动作事件220
6.3.1动作事件类221
6.3.2动作监听器接口221
6.3.3响应动作事件222
6.3.4动作事件源223
6.3.5动作事件示例224
6.4值改变事件228
6.4.1值改变事件类229
6.4.2值改变监听器接口230
6.4.3响应值改变事件230
6.4.4值改变事件源232
6.4.5值改变事件示例233
6.5阶段事件234
6.5.1阶段事件类235
6.5.2阶段监听器接口236
6.5.3响应阶段事件236
6.5.4阶段事件源237
6.5.5阶段事件示例238
第7章转换器242
7.1转换器概述242
7.1.1问题的提出242
7.1.2转换器的用途243
7.1.3转换器的原理245
7.2编写转换器247
7.2.1转换器接口247
7.2.2标准转换器249
7.2.3自定义转换器252
7.3注册转换器253
7.3.1类型注册254
7.3.2名称注册255
7.3.3默认注册256
7.4托管转换器257
7.5引用转换器258
7.5.1自动引用258
7.5.2通过converter属性引用259
7.5.3通过f:converter标签引用261
7.5.4通过专用标签引用262
7.5.5不引用转换器263
7.6转换器示例263
7.6.1使用标准转换器263
7.6.2DateTime标准转换器264
7.6.3Number标准转换器269
7.6.4替换标准转换器274
7.6.5自定义类型的转换278
第8章验证器284
8.1验证器概述284
8.1.1验证器的用途284
8.1.2验证器的原理285
8.2编写验证器和验证方法286
8.2.1验证器接口287
8.2.2标准验证器287
8.2.3自定义验证器289
8.2.4验证方法290
8.3注册验证器291
8.3.1名称注册291
8.3.2默认注册292
8.4托管验证器292
8.5引用验证器293
8.5.1通过validatorExpression属性引用294
8.5.2通过f:validator标签引用296
8.5.3通过专用标签引用297
8.6验证器示例298
8.6.1使用标准验证器298
8.6.2用代码控制验证器299
8.6.3使用自定义验证器302
第9章消息305
9.1JSF的消息机制305
9.2消息类306
9.2.1消息类及其属性和方法307
9.2.2消息类的实例化307
9.3消息包308
9.3.1Java类形式的消息包308
9.3.2属性文件形式的消息包310
9.4消息的产生311
9.4.1注册消息包311
9.4.2引用消息312
9.5消息的排队312
9.5.1将消息加入队列313
9.5.2指定关联UI组件313
9.5.3页面Bean的消息实用方法315
9.6消息的显示315
9.7带参数消息316
9.8标准消息及其替换316
9.8.1标准消息316
9.8.2替换标准消息318
第10章数据库访问及持久化321
10.1数据库访问模型321
10.2缓存行集325
10.2.1实例化325
10.2.2初始化326
10.2.3数据读取326
10.2.4光标操作327
10.2.5增删改328
10.2.6保存329
10.2.7带参数的缓存行集330
10.3缓存行集数据提供器331
10.3.1实例化331
10.3.2配置332
10.3.3数据读取334
10.3.4用EL表达式访问缓存行集数据
提供器334
10.4数据库访问实例338
10.4.1MySQL的下载.安装和配置338
10.4.2建表340
10.4.3建立外键关系342
10.4.4添加模拟数据343
10.4.5用列表框组件显示表字段344
10.4.6用表组件操作表数据347
10.4.7主从式数据访问352
10.5持久化356
10.5.1持久化技术概述356
10.5.2持久化单元357
10.5.3持久化标注358
10.5.4实体管理359
10.5.5事务管理360
10.5.6主键生成策略361
10.5.7查询362
10.5.8带参数查询363
10.5.9命名查询364
10.5.10JSF与持久化365
10.5.11NetBeans中的持久化365
10.5.12持久化示例366
第11章JSF实例：论坛376
11.1需求分析376
11.1.1术语解释376
11.1.2用户管理380
11.1.3帖子管理381
11.2数据库设计382
11.2.1注册用户表383
11.2.2帖子表383
11.2.3主题表383
11.2.4回帖表383
11.2.5置顶表384
11.2.6表间关系384
11.3功能设计384
11.3.1用户注册384
11.3.2用户封闭385
11.3.3用户解封385
11.3.4用户登录385
11.3.5修改密码386
11.3.6用户退出386
11.3.7强制下线386
11.3.8密码重设386
11.3.9设管387
11.3.10撤管387
11.3.11用户删除387
11.3.12查询用户列表388
11.3.13发新帖388
11.3.14回复388
11.3.15修改帖子388
11.3.16删除帖子389
11.3.17主题置顶389
11.3.18撤销置顶389
11.3.19主题列表389
11.3.20阅读主题390
11.3.21搜索帖子390
11.3.22在线用户数统计390
11.3.23帖子数统计390
11.3.24今日新帖数统计390
11.4页面设计391
11.4.1首页391
11.4.2用户管理页面391
11.4.3用户删除确认页面391
11.4.4密码重设页面391
11.4.5帖子删除确认页面391
11.4.6我的论坛页面391
11.4.7登录页面391
11.4.8登录成功页面391
11.4.9注册页面392
11.4.10注册成功页面392
11.4.11修改密码页面392
11.4.12修改密码成功页面392
11.4.13用户退出成功页面392
11.4.14发新帖页面392
11.4.15发新帖成功页面392
11.4.16回复页面392
11.4.17回复成功页面392
11.4.18阅读主题页面392
11.4.19帖子修改页面393
11.5导航设计393
11.5.1页面导航表393
11.5.2页面导航配置文件393
11.5.3异常处理395
11.5.4业务集成396
11.6详细设计397
11.6.1数据库表397
11.6.2业务逻辑Bean400
11.6.3持久化404
11.6.4会话管理408
11.6.5页面编码411
11.6.6表和数据提供器457
11.6.7异常处理465
11.6.8主题表排序467
11.6.9参数传递468
第12章源代码的下载和使用470
12.1下载方式470
12.2源代码压缩文件包内容470
12.2.1源程序目录470
12.2.2SQL文件472
12.3准备开发环境473
12.3.1JDK473
12.3.2NetBeans473
12.3.3GlashFish473
12.4安装和配置MySQL数据库474
12.4.1下载和安装474
12.4.2创建数据库、表格、视图并添加数据474
12.4.3在NetBeans中建立数据库连接475
12.5打开并运行范例程序476
12.6常见问题477
……