第一篇 JSF基础 2
第1章 JSF和开发环境配置基础知识 2
1.1获取JSF 2
1.2安装与配置JDK 3
1.3 Tomcat安装与配置 5
1.4安装与配置MyEclipse 9
1.5安装与配置MySQL 11
1.6小结 14
第2章 创建JSF应用程序 15
2.1 JSF开发环境准备 15
2.1.1基本要求 15
2.1.2选择JSF的实现 15
2.2创建第一个JSF应用 16
2.2.1运行效果 16
2.2.2创建Web应用 17
2.2.3映射一个FacesServlet的实例 17
2.2.4创建JSF页面 18
2.2.5定义页面导航 22
2.2.6创建一个后台Bean 23
2.2.7添加一个托管Bean声明 24
2.2.8运行调试 24
2.3 JSF请求处理生命周期详解 25
2.3.1恢复视图 26
2.3.2应用请求值 26
2.3.3处理验证 26
2.3.4更新模型值 27
2.3.5调用应用程序 27
2.3.6呈现响应 27
2.4第一个JSF应用的请求处理生命周期分析 27
2.5关于用户界面组件的immediate属性 30
2.6 WC与JSF 30
2.6.1经典WC设计模式 30
2.6.2 JSF的模型、视图和控制器 31
2.7小结 32
第二篇 J3F实战技术 34
第3章 JSF组件 34
3.1 HTML标签组件说明 34
3.1.1输入类标签 36
3.1.2输出类标签 37
3.1.3选择类标签 38
3.1.4命令类标签 42
3.1.5其他类标签 42
3.1.6页面绘制实例 43
3.2 Core标签组件说明 45
3.3事件处理 48
3.3.1值改变事件 48
3.3.2动作事件 52
3.4综合应用 54
3.5小结 60
第4章 JSF托管Bean 61
4.1 JavaBean类型的托管Bean 61
4.2容器类型的托管Bean 63
4.3初始化托管Bean 65
4.3.1初始化简单对象 65
4.3.2初始化列表 66
4.4托管Bean的有效范围 67
4.5如何外部调用托管Bean 68
4.5.1在页面上调用Bean 69
4.5.2在组件中调用Bean 69
4.5.3在配置文件中调用托管Bean 71
4.6小结 71
第5章 导航规则 72
5.1静态导航实例 72
5.1.1创建Bean文件 73
5.1.2设置配置文件 73
5.1.3绘制页面文件 74
5.1.4设置web.xml 75
5.1.5使用静态导航的疑问 76
5.2动态导航实例 76
5.2.1代码清单 76
5.2.2配置清单 77
5.2.3主页面清单 78
5.3非常规导航 79
5.3.1值改变事件 79
5.3.2动作事件 83
5.4小结 85
第6章 转换器 86
6.1转换的时机 86
6.2使用标准转换器 87
6.2.1标准转换器的使用方法 87
6.2.2 Java基本类型转换器的使用 87
6.2.3 DateTime转换器的使用 88
6.2.4 Number转换器的使用 89
6.3自定义转换器 89
6.3.1定义一个类,实现javax.faces.convert.Converter接口 89
6.3.2在Faces上下文中注册自定义转换器 91
6.3.3用<f:converter/>标签在页面中使用自定义转换器 91
6.4小结 91
第7章 验证器 92
7.1验证器的基本知识 92
7.1.1为什么需要验证模型 92
7.1.2验证的时机 92
7.1.3使用标准验证器 93
7.2自定义验证器 93
7.2.1定义一个类,实现j avax.faces.validator.Validator接口 93
7.2.2在Faces上下文中注册自定义验证器 94
7.2.3用<f:validator/>标签在页面中使用自定义验证器 94
7.3转换器和验证器综合示例 95
7.3.1创建用户注册的应用 95
7.3.2创建用户注册所需要绑定的后台Bean 95
7.3.3配置托管Bean 95
7.3.4添加自定义转换器和自定义验证器 96
7.3.5创建用户注册页面 96
7.3.6配置导航规则 98
7.3.7运行查看效果 98
7.4小结 99
第8章 JSF应用的国际化 100
8.1国际化和本地化的概念 100
8.2 Java对国际化的支持 101
8.2.1 Java国际化原理 101
8.2.2 Java国际化实例 101
8.3 JSF对国际化的支持 102
8.3.1创建本地化资源文件 102
8.3.2加载一个资源包 103
8.3.3引用本地化静态数据 103
8.3.4引用本地化动态数据 103
8.3.5引用错误消息 104
8.3.6图片、日期时间和数字的国际化 105
8.4 JSF国际化综合实例 105
8.4.1实现用户登录验证的国际化 105
8.4.2实现自选语言栏 111
8.5小结 115
第9章 JSF页面布局方案 116
9.1使用JSP的include实现页面布局 117
9.1.1 include知识介绍 117
9.1.2 include实现页面布局 117
9.2使用Tiles框架实现页面布局 119
9.2.1设置Tiles模板引擎 119
9.2.2使用XML配置模板资源 120
9.2.3创建用于布局的JSP文件 121
9.2.4创建内容JSP文件 121
9.2.5使用Tiles框架的布局方案 122
9.2.6运行查看效果 122
9.3小结 122
第10章 Facelets的使用 123
10.1安装Facelets 123
10.2使用Facelets进行页面模板化布局 125
10.3使用JSFC 128
10.4复合组件 130
10.4.1创建复合组件定义文件 130
10.4.2创建Facelets标签库描述文件 131
10.4.3在web.xml中声明标签库描述文件 131
10.4.4用命名空间导入标签库描述文件 131
10.5小结 132
第11章 JSF与Ajax的整合 133
11.1 JSF把输入组件解析成HTML标签的细节 133
11.2 JSF整合Ajax 137
11.2.1为什么要使用Ajax 137
11.2.2 Ajax简介 137
11.2.3Ajax的工作原理 137
11.2.4 Ajax示例 138
11.2.5 Ajax4jsf框架 141
11.3小结 147
第12章 JSF自定义组件 148
12.1 JSF组件模型 148
12.2 JSF自定义组件开发步骤 149
12.2.1创建自定义的组件类 149
12.2.2定制渲染器 151
12.2.3注册组件 151
12.2.4编写标签处理类 152
12.2.5创建标签库描述文件来登记这个标签 153
12.3自定义组件实例:数据分页 156
12.3.1运行效果 156
12.3.2分页组件标签解析 156
12.3.3标签库描述文件 157
12.3.4标签处理类 158
12.3.5组件渲染器 159
12.3.6注册组件 163
12.3.7组件类 163
12.3.8一些思考 163
12.4小结 164
第三篇 JSF项目实战 166
第13章 留言本(JSF+JDBC) 166
13.1系统概述 166
13.2需求分析 166
13.2.1系统总体设计图 167
13.2.2用例图 167
13.3数据库设计 168
13.4页面代码实现页面间转向的关系 168
13.5其他功能分析 184
13.6配置文件 205
13.7运行工程 208
13.7.1使用工具 208
13.7.2工程部署 208
13.7.3运行程序 209
13.8小结 211
第14章 博客管理系统(JSF+ Facelets+iBATIS) 212
14.1系统设计 212
14.1.1功能说明 212
14.1.2系统架构 214
14.1.3技术架构 214
14.2持久层技术iBATIS介绍 214
14.2.1 iBATIS介绍 214
14.2.2 iBATIS的使用 215
14.3持久层设计 217
14.3.1数据库表设计 217
14.3.2创建实体类 218
14.3.3创建实体类的SQL Map映射文件 220
14.3.4 DAO组件设计 227
14.3.5 DAO接口定义 227
14.3.6 DAO实现类 234
14.4业务逻辑层开发 245
14.4.1账户业务逻辑类AccountService 246
14.4.2文章分类业务逻辑类ArticleTypeService 247
14.4.3文章业务逻辑类ArticleService 249
14.4.4文章回复业务逻辑类FeedbackService 253
14.5 Web层设计 255
14.5.1 Web层概述 255
14.5.2前台浏览各功能模块的设计与实现 261
14.5.3后台管理各功能模块的设计与实现 274
14.6分页组件的设计 279
14.6.1使用方式 279
14.6.2标签库描述文件 280
14.6.3标签处理类 282
14.6.4组件渲染器 283
14.6.5注册组件 286
14.7后台管理过滤设计 287
14.8运行本项目的说明 289
14.8.1开发环境说明 289
14.8.2运行环境说明 289
14.8.3编码说明 289
14.8.4 Jar包说明 289
14.8.5安装运行说明 289
14.9小结 290
第15章 新闻发布系统(JSF+EJB) 291
15.1系统概述 291
15.2需求分析 291
15.2.1系统总体设计图 292
15.2.2用例图 292
15.3数据库设计 292
15.3.1数据库需求分析 292
15.3.2数据库逻辑设计 293
15.3.3事务处理浅析 294
15.3.4页面间转向关系 294
15.4页面代码实现 294
15.5业务层代码分析 318
15.6配置文件web.xml 337
15.7运行工程 337
15.7.1使用工具 337
15.7.2工程部署 337
15.7.3运行程序 338
15.8小结 339
第16章 在线宠物店(Petstore )(JSF+Spring+Hibernate) 340
16.1实例功能说明及系统架构 340
16.1.1实例功能说明 340
16.1.2系统架构 341
16.2持久层开发 342
16.2.1持久层域模型设计 342
16.2.2持久层DAO组件设计 349
16.3数据层表结构生成 357
16.3.1编写hibemate.cfg.xml配置文件 357
16.3.2编写方法调用S chemaExport类生成数据库脚本 358
16.4业务逻辑层开发 359
16.4.1业务逻辑接口设计 359
16.4.2异常处理 362
16.4.3实现业务逻辑组件 362
16.4.4装配业务逻辑组件 368
16.4.5事务管理 369
16.5使用服务定位器模式 370
16.5.1 ServiceLocator模式介绍 370
16.5.2 ServiceLocator模式实现 370
16.6 JSF与Spring的整合 372
16.7 Web层设计 372
16.7.1 Web层概述 372
16.7.2首页的设计与实现 378
16.7.3浏览宠物模块的设计与实现 381
16.7.4账户模块的设计与实现 385
16.7.5购买宠物模块的设计与实现 390
16.8安全性设计 395
16.9运行本项目的一些说明 397
16.9.1开发环境说明 397
16.9.2查看源码说明 397
16.9.3运行环境说明 397
16.9.4编码说明 397
16.9.5 Jar包说明 397
16.9.6安装运行说明 398
16.10小结 398