第一部分 Struts框架 1
第1章 Struts简介 1
1-1 Web应用程序开发简史 1
1-2 两种开发模型 3
1-2-1 模型1体系结构概述 3
1-2-2 模型2体系结构概述 4
1-3 模型—视图—控制器体系结构的详细介绍 4
1-4 走近Struts 5
1-3-3 控制器组件 5
1-3-2 视图组件 5
1-3-1 模型组件 5
1-5 Struts的基本组件 7
1-5-1 基本框架 7
1-5-2 JSP标签库 7
1-5-3 Tiles插件 8
1-5-4 Validator插件 8
1-6 获取Struts 8
1-6-1 下载(二进制) 9
1-6-2 下载(源代码) 9
1-7 Struts入门 10
第2章 构建一个简单的Struts应用程序 11
2-1 应用程序概述 11
2-1-1 Mini HR应用程序文件 12
2-1-2 index.jsp 14
2-1-3 search.jsp 16
2-1-4 SearchForm.java 23
2-1-5 SearchAction.java 26
2-1-6 EmployeeSearchService.java 29
2-1-7 Employee.java 31
2-1-8 web.xml 32
2-1-9 struts-config.xml 35
2-1-10 ApplicationResources.properties 38
2-2 编译、打包和运行应用程序 39
2-2-1 下载和安装Struts和Tomcat 39
2-2-2 编译应用程序 40
2-2-3 打包应用程序 41
2-2-4 运行应用程序 41
2-3 了解执行流 43
3-1 什么是模型 47
第3章 模型层 47
3-2 Struts与模型 48
3-3 回顾Mini HR应用程序的模型层 49
第4章 视图层 53
4-1 Struts与视图层 53
4-1-1 JSP页面 54
4-1-2 Form Bean 54
4-1-3 JSP标记库 62
4-1-4 资源束 64
4-2 回顾Mini HR应用程序的视图层 65
4-3 其他视图技术 71
第5章 控制器层 73
5-1 Struts与控制器层 73
5-2 ActionServlet类 74
5-3 RequestProcessor类 76
5-4 Action类 78
5-5 ActionForward类 89
5-6 回顾Mini HR应用程序的控制器层 91
6-1 Validator概述 93
第6章 Validator 93
6-2 Validator的使用 94
6-2-1 启用Validator插件 94
6-2-2 配置validator-rules.xml 95
6-2-3 包含的验证例程 97
6-2-4 创建Form Bean 98
6-2-5 配置validadtion.xml 102
6-2-6 配置ApplicationResources.properties 103
6-2-7 启动客户端验证 105
6-3-1 创建验证方法 106
6-3 创建自定义验证 106
6-3-2 添加新验证规则 108
6-3-3 添加新的验证定义 110
6-3-4 将消息添加到ApplicationResources.properties文件中 111
6-4 国际化验证 112
6-5 将Validator添加到Mini HR应用程序中 114
6-5-1 将SearchForm更改成ValidatorForm的子类 114
6-5-2 添加validator-rules.xml文件 115
6-5-3 创建validation.xml文件 116
6-5-4 将Validator插件添加到struts-config.xml文件中 116
6-5-5 将验证错误消息添加到ApplicationResources.properties文件中 118
6-5-6 重新编译、打包并运行更新后的应用程序 119
第7章 Tiles 121
7-1 Tiles概述 122
7-2 使用Tiles 123
7-2-1 启动Tiles插件 123
7-2-2 创建Tiles定义 124
7-2-3 创建布局JSP并使用Tiles标记库 128
7-2-4 创建内容JSP 129
7-2-5 使用Tiles定义 129
7-3 国际化Tiles 131
7-4 使用Tiles标记库 134
7-5 Tiles标记库标记 135
7-5-1 add标记 137
7-5-2 definition标记 138
7-5-3 getAsString标记 139
7-5-4 importAttribute标记 140
7-5-5 initComponentDefinitions标记 141
7-5-6 insert标记 141
7-5-7 put标记 143
7-5-8 putList标记 144
7-5-9 useAttribute标记 145
7-6 将Tiles添加到Mini HR应用程序中 146
7-6-1 将Tiles TLD文件添加到应用程序中 147
7-6-2 创建布局JSP 147
7-6-3 更新现有的JSP以使用布局 151
7-6-4 创建tiles-defs.xml文件 152
7-6-5 更新struts-config.xml文件中的forward定义,并将Tiles插件添加到该文件中 154
7-6-6 重新打包并运行更新后的应用程序 156
8-1 配置Struts的异常处理程序 157
第8章 声明式异常处理 157
8-2 创建一个定制异常处理程序 159
8-2-1 创建一个新的异常处理程序类 159
8-2-2 将新的异常处理程序定义添加到struts-config.xml文件中 162
8-3 将声明式异常处理添加到Mini HR应用程序中 162
8-3-1 创建一个应用程序异常类 163
8-3-2 更新SearchAction以抛出一个应用程序异常 163
8-3-3 在struts-config.xml文件中建立一个异常处理程序 165
8-3-4 创建一个异常处理程序JSP 166
8-3-5 将异常错误消息添加到ApplicationResources.properties文件中 167
8-3-6 重新编译、打包并运行更新后的应用程序 168
第9章 Struts模块 171
9-1 使用模块 172
9-1-1 创建每个模块的Struts配置文件 172
9-1-2 配置模块的web.xml部署描述符文件 173
9-1-3 配置链接以访问专属于对应模块的JSP 175
9-2 在模块化的应用程序中使用Validator 176
9-3 在模块化的应用程序中使用Tiles 176
9-4-1 建立模块目录和文件 178
9-4 改变Mini HR应用程序以使用模块 178
9-4-2 创建每个模块的Struts配置文件 179
9-4-3 更新应用程序的web.xml部署描述符文件 181
9-4-4 重新打包并运行更新后的应用程序 184
第10章 国际化Struts应用程序 185
10-1 了解Java的国际化支持 185
10-1-1 java.util.Locale类 185
10-1-2 java.util.ResourceBundle类 187
10-1-3 java.text.MessageFormat类 188
10-2 了解Struts的国际化支持 189
10-2-2 消息资源 190
10-2-1 Locale 190
10-2-3 支持国际化的Struts标记库 192
10-3 国际化Mini HR应用程序 194
10-3-1 将所有应用程序文本条目添加到ApplicationResources.properties文件 194
10-3-2 创建西班牙文的ApplicationResources.properties文件 195
10-3-3 更新JSP以从ApplicationResources.properties文件检索所有的应用程序文本 196
10-3-4 重新打包并运行更新后的应用程序 199
第11章 HTML标记库 203
11-1 了解JSP页面中的变量和范围 203
第二部分 Struts标记库 203
11-2 HTML标记库的使用 204
11-3 HTML标记库标记 205
11-3-1 base标记 207
11-3-2 button标记 208
11-3-3 cancel标记 210
11-3-4 checkbox标记 211
11-3-5 errors标记 213
11-3-6 file标记 214
11-3-7 form标记 217
11-3-8 frame标记 218
11-3-9 hidden标记 222
11-3-10 html标记 224
11-3-11 image标记 225
11-3-12 img标记 227
11-3-13 javascript标记 231
11-3-14 link标记 233
11-3-15 messages标记 237
11-3-16 multibox标记 238
11-3-17 option标记 240
11-3-18 options标记 241
11-3-19 optionsCollection标记 243
11-3-20 password标记 245
11-3-21 radio标记 247
11-3-22 reset标记 249
11-3-23 rewrite标记 250
11-3-24 select标记 253
11-3-25 submit标记 255
11-3-26 text标记 257
11-3-27 textarea标记 259
11-4 常用标记属性 261
11-3-28 xhtml标记 261
第12章 Bean标记库 265
12-1 了解JSP的变量和范围 265
12-2 使用Bean标记库 266
12-3 Bean标记库标记 267
12-3-1 cookie标记 269
12-3-2 define标记 270
12-3-3 header标记 273
12-3-4 include标记 274
12-3-5 message标记 276
12-3-6 page标记 278
12-3-7 parameter标记 279
12-3-8 resource标记 281
12-3-9 size标记 282
12-3-10 struts标记 284
12-3-11 write标记 287
第13章 逻辑标记库 289
13-1 了解JSP的变量和范围 289
13-2 使用逻辑标记库 290
13-3 逻辑标记库标记 291
13-3-1 empty标记 293
13-3-2 equal标记 294
13-3-3 forward标记 297
13-3-4 greaterEqual标记 297
13-3-5 greaterThan标记 300
13-3-6 iterate标记 302
13-3-7 lessEqual标记 305
13-3-8 lessThan标记 307
13-3-9 match标记 310
13-3-10 messagesNotPresent标记 312
13-3-11 messagesPresent标记 313
13-3-12 notEmpty标记 314
13-3-13 notEqual标记 315
13-3-14 notMatch标记 318
13-3-15 notPresent标记 321
13-3-16 present标记 324
13-3-17 redirect标记 326
第14章 嵌套标记库 331
14-1 了解Struts中的对象嵌套 331
14-3 嵌套标记库标记 333
14-2 嵌套标记库的使用 333
14-3-1 nest标记 336
14-3-2 root标记 337
14-3-3 writeNesting标记 338
第15章 在Struts中使用JSTL 339
15-1 JSTL概述 339
15-1-1 JSTL表达式语言 340
15-1-2 JSTL标记库 343
15-2 在Struts中使用JSTL 346
15-2-1 Struts-EL 347
15-2-2 JSTL替换示例 348
15-2-3 Struts-EL标记库的使用 351
15-2-4 Struts-EL标记库标记 353
第三部分 Struts配置文件 357
第16章 Struts配置文件 357
16-1 了解XML DTD 357
16-2 配置web.xml部署描述符文件 358
16-3 Struts配置文件标记 360
16-3-1 action标记 361
16-3-3 controller标记 364
16-3-2 action-mappings标记 364
16-3-4 data-source标记 367
16-3-5 data-sources标记 368
16-3-6 exception标记 368
16-3-7 form-bean标记 370
16-3-8 form-beans标记 371
16-3-9 form-property标记 372
16-3-10 forward标记 373
16-3-11 global-exceptions标记 374
16-3-12 global-forwards标记 375
16-3-13 message-resources标记 376
16-3-14 plug-in标记 377
16-3-15 set-property标记 378
16-3-16 struts-config标记 379
16-4 元数据标记 379
16-5 使用Struts Console编辑Struts配置文件 380
第17章 Tiles配置文件 383
17-1 了解XML DTD 383
17-2 启动Tiles插件 384
17-3-1 add标记 385
17-3 Tiles配置文件标记 385
17-3-2 bean标记 386
17-3-3 definition标记 387
17-3-4 item标记 388
17-3-5 put标记 389
17-3-6 putList标记 390
17-3-7 set-property标记 391
17-3-8 tiles-definitions标记 392
17-4 元数据标记 392
17-5 用Struts Console编辑Tiles配置文件 393
第18章 Validator配置文件 395
18-1 两个配置文件 395
18-2 了解XML DTD 396
18-3 启用Validator插件 397
18-4 Validator配置文件标记 397
18-4-1 arg0、arg1、arg2和arg3标记 398
18-4-2 constant标记 400
18-4-3 constant-name标记 400
18-4-5 field标记 401
18-4-4 constant-value标记 401
18-4-6 form标记 402
18-4-7 form-validation标记 403
18-4-8 formset标记 404
18-4-9 global标记 405
18-4-10 javascript标记 405
18-4-11 msg标记 407
18-4-12 validator标记 408
18-4-13 var标记 409
18-4-15 var-value标记 410
18-4-14 var-name标记 410
18-5 使用Struts Console编辑Validator配置文件 411
第四部分 应用Struts 413
第19章 保证Struts应用程序的安全性 413
19-1 安全等级 413
19-1-1 提供安全通信 414
19-1-2 验证与授权 414
19-1-3 基于角色的访问控制 415
19-1-4 由容器管理的安全服务与由应用程序管理的安全服务 415
19-2 使用由容器管理的安全服务 416
19-2-1 登录配置 418
19-2-2 由容器管理的安全传输 424
19-3 由应用程序管理的安全服务 425
19-3-1 创建安全服务 425
19-3-2 将Struts与SSL整合在一起 437
第20章 测试Struts应用程序 441
20-1 测试类型 441
20-1-1 单元测试 441
20-2 对Struts应用程序进行单元测试 442
20-1-3 系统测试 442
20-1-2 功能测试 442
20-2-1 测试模型 443
20-2-2 测试控制器的行为 448
20-2-3 测试视图 457
20-3 由使用情形驱动的测试 460
20-3-1 创建测试用例 461
20-3-2 使用Canoo WebTest 462
20-4 测试应用程序性能 466
第五部分 附录 471
附录 Struts Console快速参考 471