标题：JakartaStruts编程
基本信息
  作者：（美）凯文斯（Cavaness,C.） 著，O’Reilly Taiwan公司 译，林琪 改编
ISBN：10位[7508335031] 13位[9787508335032]
出版社：中国电力出版社
出版日期：2005-8-1
定价：￥52.00 元
内容提要
尽管企业Web应用程序的外观和操作方式很重要，但是开发人员发现，开始编写应用程序的业务逻辑之前他们总是要花太多的时间在前端的表示上。为了解决这个问题，Jakarta Struts将Java Servlet、JavaServer Pagss(JSP)、自定义标记义及消息资源（messagingresource）结合为一种统一的、可重用的框架。Struts是一个可以共同合作、协同动作的平台、对于独立的开发人员、大型开发团队以及介于这二者之间的任何人都很适用。
自本书第一版发行以来，Struts开源项目变得越来越受欢迎。尽管这项技术令人振奋，但是它的说明文档却仍然少得可怜——大多数的指南都太简单，那些要编写复杂Web应用程序的开发人员根本找不到所需要的关键信息。本书第二版为了填补这个信息缺口，针对最近发布的Struts1.1版重新修订扩编，提供最新的信息。第二版增加了新的章节来专门探讨安全、与JSF API的集成、JSP标准标记库（JSIL）以及Struts的表达式语言（EL）。此外，第二版对第一版中原有的主题成做了扩充，包括：
·安装、建立和配置Struts
·说明Web应用程序的基本概念
·实现MVC设计模式（Model2方法），让你的应用程序得以使用这个模式
·采用Struts的日志记录、验证和异常处理机制
·使用Struts Tiles模板库
·使用Struts编写国际化和本地化代码
·对Web应用程序应用真实有用的最佳实践
对于每一个自己所开发的企业系统，本书作者Chuck Cavaness都会花大量时间去研究关于Struts从中能学到什么，以及找出构建Web应用程序的最有效的方式。为节省你的时间，让你不再头痛，作者用最思想、最实务的“说到哪里做到哪里”的手法，把无价的实践经验与大家分享，以指导你最大限度地发挥Struts框架的潜能。
作者简介
Chuck Cavaness是S1公司的资深技术专家。他的专业包括服务器端Java、分布式对象计算以及应用服务器。Chuck目前也是JavaWorld所设立的“Java in the Enterprise”论坛的主持人。他写过几年的Smalltalk和CORBA的应用程序，也在Georgia Tech讲授过面向对象程序设计程序。他是好几本J2EE书籍的技术编辑，包括《Using JavaServerPages and Servlets》(Que,2000)以及《Special Edition Using Java 2 Enterprise Edition》(Que,2001)。Chuck的计算机科学学位获自Georgia Tech。他目前的兴趣是为银行和金融服务业编写企业应用程序。 Chuck还是《Special Edition Using Enterprise JavaBeans 2.0》(Que,2001)和《Special Edition Using Java 2 Enterprise Edition》(Que,2000) 的合作之一。
目录
前言 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
第三章 Struts框架概览 44
银行账户示例 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
Digester组件 110
Struts Console工具 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
前言
过去几年来，万维网（Web）的发展已经到了一个很重要的转折点。Java开发人员必须辛苦地在一个JSP页面里塞进表示逻辑（presentation logic）、通过SQL存取数据库以及导航智能（navigational intelligence）的日子已经过去了。JavaWeb开发人员已从那些失败的经验汲取了教训，付出了除错和维护的时间，继续向前挺进。如今，各种可用的Web框架如雨后春笋般林立。把浏览器指向Java技术网站时，你常会看到新版Web框架发布的消息，这些新框架意图改革现代世界。虽然有些人认为这是坏事，把Java群体分解得支离破碎，但事实是，不断冒出的新框架只是演化的过程而已。当今重要的Web应用程序的设计和建构把开发人员推..