图书目录

第1章 Web应用简介1

1.1 Web基础1

1.1.1 URL1

1.1.2 HTTP2

1.1.3 HTML4

1.2 理解Web应用4

1.2.1 什么是Web应用4

1.2.2 Web容器5

1.2.3 Web应用生命周期6

1.3 集成开发环境NetBeans IDE7

1.4 Web应用示例8

1.4.1 打开并查看Web应用8

1.4.2 部署和访问Web应用10

1.5 小结11

习题112第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 创建支撑bean22

2.4.4 创建JSF页24

2.4.5 设置上下文路径26

2.4.6 检查部署描述符26

2.4.7 运行JSF应用27

2.5 小结27

习题228第3章 受管bean与EL表达式29

3.1 编写bean类29

3.2 配置受管bean30

3.2.1 声明受管bean30

3.2.2 受管bean的作用域32

3.2.3 视图作用域受管bean应用示例33

3.2.4 生命周期方法36

3.2.5 初始化受管bean37

3.2.6 List和Map型受管bean39

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表达式初始化受管bean47

3.5.2 EL表达式初始化受管bean应用示例48

3.5.3 在Java类中计算EL表达式50

3.6 小结51

习题352第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 创建受管bean83

4.11.3 创建JSF页面87

4.12 小结90

习题491第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:link101

5.5.2 h:button101

5.5.3 常用属性101

5.6 规则导航应用示例102

5.7 视图参数与可书签化URL105

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

习题5123第6章 页面布局与数据表格125

6.1 CSS技术125

6.1.1 定义CSS125

6.1.2 使用CSS127

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 扩充模型和受管bean143

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

习题6155第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

习题7181第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

习题8203第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 JSF应用国际化220

9.3.5 国际化应用示例221

9.4 小结223

习题9224第10章 模板与复合组件225

10.1 包含226

10.2 Facelets模板227

10.2.1 基于模板页创建视图页面227

10.2.2 基于客户页创建视图页面231

10.3 ui:param与ui:repeat233

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

习题10242第11章 Java DB与实体类243

11.1 Java DB243

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

习题11266第12章 实体管理器与JPQL268

12.1 持久性单元268

12.2 管理实体270

11.2.1 实体管理器与持久性上下文270

12.2.2 实体操作271

12.3 事务控制277

12.4 JPQL278

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 查询API288

12.6 论坛-重写业务方法290

12.6.1 为论坛应用定义持久性单元290

12.6.2 更改命名查询290

12.6.3 重写业务方法291

12.6.4 定义和注册系统事件监听器296

12.7 小结297

习题12297

参考文献298