前言 1
第一章 简介 9
Web简史 9
什么是Java servlet? 10
JSP页面 13
JSP Model 1和Model 2架构 15
为什么MVC如此重要? 16
什么是框架? 18
其他替代框架 20
第二章 Web层剖析 25
框架概述 25
HTTP请求/响应的过程 29
Struts和作用域 34
使用URL参数 36
转发与重定向的差异 36
银行账户示例 44
第三章 Struts框架概览 44
总体蓝图 48
Struts控制器组件 50
Struts模型组件 57
Struts视图组件 60
支持多个应用程序 70
结论 71
第四章 配置Struts应用程序 72
Storefront应用程序 72
什么是Web应用程序? 73
Web应用程序的目录结构 74
Web应用程序的部署描述文件 77
为Struts配置web.xml文件 79
Struts配置文件 89
Struts Console工具 110
Digester组件 110
重新加载配置文件 112
第五章 Struts控制器组件 114
控制器机制 114
工具类 141
第六章 Struts模型组件 145
MVC中的“M” 145
什么是业务对象? 149
持久存储 150
Struts为模型提供了什么? 152
第七章 Struts视图组件 177
什么是视图? 177
什么是ActionForm? 183
使用ActionErrors 193
完成表示验证 197
使用DynaActionForm类 198
JavaServer Faces前瞻 201
第八章 JSP自定义标记库 203
自定义标记概览 203
Struts的标记库 207
Struts标记中使用JavaBean 208
Struts的HTML标记库 209
Logic标记库 217
Bean标记库 222
Nested标记库 226
其他有用的标记库 226
JSP标准标记库(JSTL) 227
第九章 扩展Struts框架 230
什么是扩展点? 230
通用的扩展点 231
控制器的扩展点 234
扩展视图组件 238
扩展框架的缺点 242
第十章 异常处理机制 243
Java异常的处理机制 243
异常处理对性能的影响 246
系统异常与应用异常 247
使用链接式异常 248
Struts所提供的异常处理机制 251
拾零补遗 263
结论 265
第十一章 Validator框架 266
需要验证框架的理由 266
安装和配置Validator 267
ActionForm与Validator一同使用 276
创建你自己的验证规则 280
Validator与JSP自定义标记 282
验证的国际化 285
将Validator用在Struts以外的场合 286
第十二章 国际化和Struts 290
什么是国际化? 290
Java对国际化的支持 292
让Struts应用程序支持国际化 299
异常的处理和国际化 304
第十三章 Struts和EJB 306
使用EJB实现Storefront服务 307
让Struts和EJB交互 319
结论 331
第十四章 使用Tiles标记库 332
了解模板 332
安装和配置Tiles的配置 337
使用Tiles框架 340
Tiles标记库 343
使用定义 350
Tiles对国际化的支持 354
第十五章 Struts应用程序的日志机制 356
Web应用程序的日志机制 356
使用servlet容器进行日志记录 357
Jakarta Commons日志包 367
使用log4j包 370
在JSP页面中使用Commons日志API 377
log4j对性能的影响 380
第三方log4j扩展包 381
Java 1.4的日志API 381
第十六章 打包Struts应用程序 383
打包还是不打包 383
把应用程序打包成WAR文件 392
使用Ant来构建你的Struts应用程序 393
创建自动化的构建环境 399
从远程重新启动服务器 401
第十七章 解决性能瓶颈 402
什么是好的性能? 402
性能测试与负载测试 404
性能测试和压力测试的工具 406
测试Storefront应用程序 406
性能和可扩展性陷阱 413
第十八章 JavaServer Faces 417
Struts和JavaServer Faces 417
JSF框架概览 419
安装和运行Struts-Faces应用程序示例 421
把现有Struts应用程序转换成使用JSF 422
其他参考资料 422
附录一 Struts 1.0以来的变化 423
附录二 下载和安装Struts 430
附录三 资源 436