第1章Web应用简介 1
1.1 Web基础 1
1.1.1 URL 1
1.1.2 HTTP 2
1.1.3 HTML 4
1.2理解Web应用 4
1.2.1什么是Web应用 4
1.2.2 Web容器 5
1.2.3 Web应用生命周期 6
1.3集成开发环境NetBeans IDE 7
1.4 Web应用示例 8
1.4.1打开并查看Web应用 8
1.4.2部署和访问Web应用 10
1.5小结 11
习题1 12
第2章JSF基础 13
2.1 JSF概述 13
2.1.1 JSF的定义 13
2.1.2 JSF与MVC设计架构 14
2.1.3 JSF角色 14
2.2 JSF组件 15
2.2.1组件与组件标记 16
2.2.2呈现器 16
2.2.3组件标识符和客户端标识符 17
2.3请求处理生命周期 17
2.3.1阶段1:恢复视图 18
2.3.2阶段2:应用请求值 19
2.3.3阶段3:处理验证 19
2.3.4阶段4:更新模型值 19
2.3.5阶段5:调用应用 19
2.3.6阶段6:呈现响应 20
2.4创建一个简单的JSF应用 20
2.4.1登录应用 20
2.4.2创建模型 21
2.4.3创建支撑bean 22
2.4.4创建JSF页 24
2.4.5设置上下文路径 26
2.4.6检查部署描述符 26
2.4.7运行JSF应用 27
2.5小结 27
习题2 28
第3章 受管bean与EL表达式 29
3.1编写bean类 29
3.2配置受管bean 30
3.2.1声明受管bean 30
3.2.2受管bean的作用域 32
3.2.3视图作用域受管bean应用示例 33
3.2.4生命周期方法 36
3.2.5初始化受管bean 37
3.2.6 List和Map型受管bean 39
3.2.7初始化受管bean应用示例 39
3.3值表达式 42
3.3.1值表达式的基本用法 42
3.3.2访问表、映射和数组 43
3.3.3预定义对象及初始项解析 43
3.3.4文字与运算符 45
3.3.5复合表达式 46
3.4方法表达式 46
3.5在页面外使用EL表达式 47
3.5.1通过EL表达式初始化受管bean 47
3.5.2 EL表达式初始化受管bean应用示例 48
3.5.3在Java类中计算EL表达式 50
3.6小结 51
习题3 52
第4章 使用JSF标记 54
4.1 JSF页面概述 54
4.1.1 JSF页面的组成元素 54
4.1.2 JSF核心标记一览 55
4.2 JSF HTML标记概述 56
4.2.1 JSF HTML标记一览 56
4.2.2基本属性 58
4.3基本输入类标记 60
4.3.1标记功能 60
4.3.2常用属性 61
4.4基本输出类标记 62
4.4.1标记功能 62
4.4.2常用属性 63
4.5图像标记 63
4.6动作类标记 64
4.6.1标记功能 64
4.6.2常用属性 64
4.6.3超链接与动作超链接标记应用示例 65
4.7二选一标记 67
4.8单选类标记 68
4.8.1标记功能 68
4.8.2常用属性 68
4.8.3选项设置 69
4.8.4单选标记应用示例 70
4.9多选类标记 74
4.9.1标记功能 75
4.9.2常用属性 75
4.9.3多选标记应用示例 76
4.10消息标记 77
4.10.1 FacesMessage类 78
4.10.2 h : message标记 78
4.10.3 h : messages标记 79
4.11论坛—登录与注册 79
4.11.1创建模型 80
4.11.2创建受管bean 83
4.11.3创建JSF页面 87
4.12小结 90
习题4 91
第5章 页面导航 95
5.1导航概述 95
5.2隐式导航 96
5.3基于导航规则的导航 97
5.3.1导航规则 97
5.3.2导航算法 98
5.3.3导航规则的进一步说明 99
5.4重定向 100
5.5 h: link与h: button标记 101
5.5.1 h:link 101
5.5.2 h:button 101
5.5.3常用属性 101
5.6规则导航应用示例 102
5.7视图参数与可书签化URL 105
5.7.1视图参数 106
5.7.2设置请求参数 106
5.7.3 preRenderView系统事件 108
5.8论坛—发表主题与回复 109
5.8.1扩充模型 110
5.8.2创建“新建主题”页 114
5.8.3修改主页 116
5.8.4创建“回复主题”页面 117
5.8.5创建“查看回复”页面 120
5.9小结 123
习题5 123
第6章 页面布局与数据表格 125
6.1 CSS技术 125
6.1.1定义CSS 125
6.1.2使用CSS 127
6.1.3 CSS应用示例 130
6.2面板 133
6.2.1 h : panelGrid标记 133
6.2.2 h:panelGroup标记 134
6.3数据表格 135
6.3.1用数据表格显示数据集 135
6.3.2标题、表头和表脚 136
6.3.3编辑表格 137
6.4论坛—主题表与回复表 142
6.4.1扩充模型和受管bean 143
6.4.2创建样式表 144
6.4.3修改主页 145
6.4.4修改“查看回复”页面 147
6.5论坛—分页显示 148
6.5.1创建辅助类 149
6.5.2修改主页 151
6.5.3修改“查看回复”页面 153
6.6小结 154
习题6 155
第7章 转换器与验证器 159
7.1转换器概述 159
7.2使用标准转换器 160
7.2.1标准转换器简介 160
7.2.2引用转换器 161
7.2.3 DateTimeConverter转换器 163
7.2.4 NumberConverter转换器 165
7.2.5转换错误 166
7.3自定义转换器 168
7.3.1编写自定义转换器类 168
7.3.2注册自定义转换器类 169
7.3.3自定义转换器应用示例 170
7.4验证器概述 173
7.5使用标准验证器 174
7.5.1标准验证器简介 174
7.5.2引用验证器 175
7.5.3验证错误 176
7.6自定义验证器 177
7.6.1编写自定义验证器类 177
7.6.2注册自定义验证器类 178
7.6.3自定义验证器应用示例 179
7.7小结 180
习题7 181
第8章JSF事件处理 182
8.1 JSF事件处理概述 182
8.2动作事件及其处理 184
8.2.1动作事件 184
8.2.2动作监听器 184
8.2.3注册动作监听器 185
8.3值变化事件及其处理 186
8.3.1值变化事件 186
8.3.2值变化监听器 187
8.3.3注册值变化监听器 187
8.3.4值变化事件应用示例 188
8.4阶段事件及其处理 193
8.4.1阶段事件 193
8.4.2阶段监听器 193
8.4.3注册阶段监听器 194
8.5系统事件及其处理 195
8.5.1系统事件 195
8.5.2系统事件监听器 196
8.5.3注册系统事件监听器 197
8.5.4系统事件应用示例 198
8.6小结 203
习题8 203
第9章 资源包与国际化 205
9.1创建资源包 205
9.1.1扩展ResourceBundle类 205
9.1.2扩展ListResourceBundle类 206
9.1.3资源包的获取与使用 207
9.1.4 PropertyResourceBundle类与属性文件 208
9.2在JSF中使用资源包 209
9.2.1资源包的注册、装入与使用 209
9.2.2资源包应用示例 210
9.2.3消息包及其使用 211
9.2.4替换标准消息文本 214
9.2.5消息包应用示例 214
9.3国际化 217
9.3.1场所 217
9.3.2创建不同场所的资源包 218
9.3.3资源包链与资源定位 219
9.3.4 J SF应用国际化 220
9.3.5国际化应用示例 221
9.4小结 223
习题9 224
第10章 模板与复合组件 225
10.1包含 226
10.2 Facelets模板 227
10.2.1基于模板页创建视图页面 227
10.2.2基于客户页创建视图页面 231
10.3 ui:param与ui:repeat 233
10.3.1 ui:param标记 233
10.3.2 ui:repeat标记 234
10.4创建复合组件 235
10.5配置复合组件 237
10.6公开复合组件 239
10.7将复合组件打包成JAR文件 241
10.8小结 241
习题10 242
第11章Java DB与实体类 243
11.1 Java DB 243
11.1.1基本操作 243
11.1.2 SQL语句 246
11.2 JPA概述 252
11.3实体类 253
11.3.1映射表 253
11.3.2映射列 254
11.3.3实体主键 255
11.3.4关系映射 257
11.4通过数据库生成实体类 259
11.4.1创建数据库连接池 260
11.4.2创建JDBC资源 260
11.4.3生成实体类 261
11.5论坛—创建数据库 262
11.5.1创建论坛数据库 263
11.5.2为论坛应用创建实体类 263
11.6小结 266
习题11 266
第12章 实体管理器与JPQL 268
12.1持久性单元 268
12.2管理实体 270
11.2.1实体管理器与持久性上下文 270
12.2.2实体操作 271
12.3事务控制 277
12.4 JPQL 278
12.4.1 SELECT语句格式 278
12.4.2标识变量 278
12.4.3路径表达式 280
12.4.4 FROM子句 281
12.4.5 SELECT子句 281
12.4.6 WHERE子句 282
12.4.7 GROUP BY和HAVING子句 285
12.4.8 ORDER BY子句 285
12.4.9 UPDATE和DELETE语句 286
12.5执行JPQL语句 286
12.5.1基本过程 286
12.5.2查询API 288
12.6论坛—重写业务方法 290
12.6.1为论坛应用定义持久性单元 290
12.6.2更改命名查询 290
12.6.3重写业务方法 291
12.6.4定义和注册系统事件监听器 296
12.7小结 297
习题12 297
参考文献 298