第6章讨论 Struts Action Forward。你可以从这章一探这个Web应用中对狡猾的家伙的 究竞。 Action Forward我以帮助你清楚的定义你的应用的进入点,使你更容易看到你是否覆 盖了你所有的基础部分。 第7张讲述的是 Struts Action Mapping。这个映射是 Struts控制器的基础。 Action类可以 在一个重根据不同的任务配置成不同的形式,来达到重用。这里我们会解释如何使用 Action Mapping来控制应用的流程,并得益于每个 Action类 第8章涉及 Struts action对象。这是 Struts应用主要承担工作的部件一在这里通常开发 者会花大量的时间。我们详细探讨了随 Struts绑定的 Action类,以及几个来自于 Scaffold包 的东西,以及从输入的 Struts action For组装业务组类的痛苦过程 第9章涉及到了 Struts Action Servlet。这个控制器类是框架的“发言人”。它发号司令 去让其它的对象完成繁重的工作。我们也会涉及一些新的方式来定制 Action Servlet一边最好 的迎合与你的应用或者某个特殊模块的需要。 第10章我们会探讨通常的 Struts jsp标签和JSP页面。从用户的角度讲,web页面就是应 用,它代表了应用项要做的一切。使用 Struts的关键优点就是它可以将表现内容和采集内容 分离开来。在这一章,我们会详细探索 Struts jSP标签,并简要介绍和 Struts一起使用其他 表现系统,比如ⅪLST和 Velocity。大部分 Struts应用都依赖JSP来创建动态页面,但框架本 身可以和许多表现系统一起使用。 第l章我们涉及Tles页面装配框架。象 Tiles之类的动态模板系统,引入了一种新的编程 模式到Web应用的表现层。一个tle封装了一个标记块,和方法封装了Java代码块非常相似。 用Tles构建Web页面给不受约束和混乱的HIML世界带来了一致性和灵活性 第12章我们要讨论用户输入校验的重要内容。对 Struts核心的一个流行的扩展是 Struts Validator。这是一个非常强大的组件,它可以在相同的培植下提供基于客户端的校验和服务 器端的校验。我们会展示如何将校验集成到你的 Struts应用之中,使用预编写的校验器或者 专门为应用编写的。 第13章涉及 Struts的国际化特征。 Struts从底层提供国际化特征。这一章国际化是如何 以及在何处构架到 Struts之中,你需要做的就是让它正确工作。基本主题是,今天你为一种 语言开发的应用所必须做的,明天也可以加入另外的语言支持。 第14章探讨 Struts的数据服务。这一章讲述如何使用一个 helper类来将 Struts action连 接到不同的企业数据系统—包括数据库,搜索引擎,以及内容辛迪加服务。还提供了一个使 用JDBC, Lucene,以及RSS的例子。 第15章是我们的特征性应用, Artimus。这个企业级的应用将扫除所有的障碍,并在 个精简的、精彩的可重用包内展示了 Struts的关键和附加特征。认证,客户化,本地化, Scaffold, Tiles,事务,校验器,还有许多,它是一个按顺序编排的 the best and brightest struts 所提供的最好和最靓的特征集合。 第16章是 Struts 1.1升级指南。这一章我们仍然使用第15章的 Artimus应用,但用新的 1.1特征进行了翻新,包括 DynaForm,plug-in,以及多重模块。如果你已经有了一个遗留 的 Struts10应用需要升级,这一章就是为你写的! 第17章展示了如何在 Struts中使用 Velocity模板系统。我们用 Velocity模板修订了我们 的登录程序,并且从两方面比较了 Velocity模板和JSP页面 本书的源代码由 Apache软件基金赠与。源代码现今已经是 Struts份发包的一部分,并 且也可以从Manning的站点,www.manningcom/husted上获得
第6章讨论 Struts ActionForward。你可以从这章一探这个Web 应用中对狡猾的家伙的 究竟。ActionForward我以帮助你清楚的定义你的应用的进入点,使你更容易看到你是否覆 盖了你所有的基础部分。 第7张讲述的是Struts ActionMapping。这个映射是 Struts 控制器的基础。Action 类可以 在一个重根据不同的任务配置成不同的形式,来达到重用。这里我们会解释如何使用Action Mapping 来控制应用的流程,并得益于每个Action 类。 第8章涉及 Struts Action 对象。这是Struts应用主要承担工作的部件—在这里通常开发 者会花大量的时间。我们详细探讨了随Struts绑定的Action类,以及几个来自于 Scaffold 包 的东西,以及从输入的Struts ActionForm组装业务组类的痛苦过程。 第9章涉及到了 Struts ActionServlet。这个控制器类是框架的“发言人”。它发号司令 去让其它的对象完成繁重的工作。我们也会涉及一些新的方式来定制ActionServlet一边最好 的迎合与你的应用或者某个特殊模块的需要。 第10章我们会探讨通常的Struts JSP 标签和 JSP页面。从用户的角度讲, web 页面就是应 用,它代表了应用项要做的一切。使用Struts 的关键优点就是它可以将表现内容和采集内容 分离开来。在这一章,我们会详细探索 Struts JSP 标签,并简要介绍和 Struts 一起使用其他 表现系统,比如 XLST 和 Velocity。大部分Struts应用都依赖 JSP 来创建动态页面,但框架本 身可以和许多表现系统一起使用。 第11章我们涉及Tiles页面装配框架。象Tiles之类的动态模板系统,引入了一种新的编程 模式到Web应用的表现层。一个tile 封装了一个标记块,和方法封装了Java代码块非常相似。 用Tiles 构建Web页面给不受约束和混乱的HTML世界带来了一致性和灵活性。 第12章我们要讨论用户输入校验的重要内容。对Struts 核心的一个流行的扩展是 Struts Validator。这是一个非常强大的组件,它可以在相同的培植下提供基于客户端的校验和服务 器端的校验。我们会展示如何将校验集成到你的Struts 应用之中,使用预编写的校验器或者 专门为应用编写的。 第13章涉及Struts 的国际化特征。Struts 从底层提供国际化特征。这一章国际化是如何 以及在何处构架到Struts之中,你需要做的就是让它正确工作。 基本主题是,今天你为一种 语言开发的应用所必须做的,明天也可以加入另外的语言支持。 第14章探讨Struts的数据服务。这一章讲述如何使用一个helper 类来将 Struts Action 连 接到不同的企业数据系统—包括数据库,搜索引擎,以及内容辛迪加服务。还提供了一个使 用JDBC,Lucene,以及RSS的例子。 第15章是我们的特征性应用, Artimus。这个企业级的应用将扫除所有的障碍,并在一 个精简的、精彩的可重用包内展示了Struts 的关键和附加特征。认证,客户化,本地化, Scaffold,Tiles,事务,校验器,还有许多,它是一个按顺序编排的 the best and brightest Struts 所提供的最好和最靓的特征集合。 第16章是Struts 1.1 升级指南。这一章我们仍然使用第15章的Artimus 应用,但用新的 1.1 特征进行了翻新,包括 DynaForms,plug-in,以及多重模块。如果你已经有了一个遗留 的Struts 1.0 应用需要升级,这一章就是为你写的! 第17章展示了如何在Struts中使用Velocity 模板系统。我们用Velocity 模板修订了我们 的登录程序,并且从两方面比较了 Velocity 模板和 JSP页面。 Code 本书的源代码由Apache 软件基金赠与。源代码现今已经是Struts 份发包的一部分,并 且也可以从Manning的站点,www.manning.com/husted上获得
本章前面部分的源代码主要由一些说明文字的片段组成。如果是要给出完整的代码,他 们会被加上一个编号的程序清单;其间还有一些代码注释 在展示源代码的时候,我们有时会使用加黑字体来强调特殊的部分。 在文本中, Courier字体用来指示代码(JSP,Java,和HIML)和Java方法,JSP标签名 以及其他源代码标识符 λ文本中队方法的引用通常不包括方法体,因为可能存在对方法调用的不止一种形式 λ对JSP标签的应用通常包括括号和前缀,但不包括标签接受的属性列表(<bean: write) λ本本中对XML元素的引用会包括括号,但不包括属性和关闭标签。 λ当一个Java类或者标签库在某一节中首次出现时,整个包的标识符会出现在括号 中,并设置为 Courier字体(java.uti1.Map),其他对该类的引用会设置为常规的类 型 λ当JSP和HIML一起散布在代码清单或者片断中时,我们将对HIML元素使用大写形式而 对JSP元素使用小写字母 参亭 参考书目在一对方括号中给出。例如[ASF, Artimus。完整的出版细节和/或在本书末 尾的“参考”一节给出。 作者在线 购买 Struts in action包含了对运行在 Manning Publication上的私有Web论坛的访问权 限,在那里你可以发表对本书的意见,提技术问题,从作者和其他用户处得到帮助。为了访 问论坛并订阅它,可以在浏览其中访问www.manning.com/husted。这个页面提供了在你注册 后如何访问论坛的信息,以及那些类型的信息是有效的,以及论坛的行为规则。 Manning义务是提供一个场所,在这里读者间,读者与作者间可以进行一个有意义的对 话。但作者不参与大量的其他特殊事务,他们会主动贡献(免费)一些东西给论坛。我们建 议读者提一些有挑战性的问题,免得他们失去兴趣 作者在线论坛以及以前的一些讨论档案在本书付印的时候就可以从出版商的网站上访 关于作者 Ted Husted是一个知名的 Struts权威, Struts开发团队的活动成员,以及 JGuru struts 论坛的管理员。作为一个咨询师,Ted为全美的很多专业 Struts开发团队服务。Ted也帮助 管理 Apache的 Jakarta项目,该项目包含 Struts框架。Ted和他的妻子,两个孩子,四台计 算机,以及一只老猫生活在纽约的 Fairport. Cedric dumoulin是 Struts开发团队的活动成员,也是 Tiles框架的作者。 Cedric目 前是Lle大学的研究员。他也是一个领先的国际互联网银行公司的开发部工作。他生活在法 国的Lle George Franciscus是 Excel的负责人,该组织为许多行业提供技术和管理咨询,包括
本章前面部分的源代码主要由一些说明文字的片段组成。如果是要给出完整的代码,他 们会被加上一个编号的程序清单;其间还有一些代码注释。 在展示源代码的时候,我们有时会使用 加黑 字体来强调特殊的部分。 在文本中,Courier 字体用来指示代码(JSP, Java, 和HTML) 和 Java 方法,JSP 标签名, 以及其他源代码标识符: λ 文本中队方法的引用通常不包括方法体,因为可能存在对方法调用的不止一种形式 λ 对JSP 标签的应用通常包括括号和前缀,但不包括标签接受的属性列表(<bean:write>). λ 本本中对XML元素的引用会包括括号,但不包括属性和关闭标签。 λ 当一个Java 类或者标签库在某一节中首次出现时,整个包的标识符会出现在括号 中,并设置为Courier 字体 (java.util.Map),其他对该类的引用会设置为常规的类 型。 λ 当 JSP 和HTML一起散布在代码清单或者片断中时,我们将对HTML 元素使用大写形式而 对JSP 元素使用小写字母。 参考 参考书目在一对方括号中给出。例如 [ASF, Artimus]。完整的出版细节和/或在本书末 尾的“参考”一节给出。 作者在线 购买 Struts in Action 包含了对运行在Manning Publication上的私有Web论坛的访问权 限,在那里你可以发表对本书的意见,提技术问题,从作者和其他用户处得到帮助。为了访 问论坛并订阅它,可以在浏览其中访问www.manning.com/husted。这个页面提供了在你注册 后如何访问论坛的信息,以及那些类型的信息是有效的,以及论坛的行为规则。 Manning义务是提供一个场所,在这里读者间,读者与作者间可以进行一个有意义的对 话。但作者不参与大量的其他特殊事务,他们会主动贡献(免费)一些东西给论坛。我们建 议读者提一些有挑战性的问题,免得他们失去兴趣! 作者在线论坛以及以前的一些讨论档案在本书付印的时候就可以从出版商的网站上访 问。 关于作者 Ted Husted 是一个知名的Struts 权威,Struts 开发团队的活动成员,以及JGuru Struts 论坛的管理员。作为一个咨询师,Ted 为全美的很多专业Struts开发团队服务。Ted 也帮助 管理Apache 的Jakarta 项目,该项目包含Struts 框架。Ted和他的妻子,两个孩子,四台计 算机,以及一只老猫生活在纽约的Fairport。 Cedric Dumoulin 是 Struts 开发团队的活动成员,也是 Tiles 框架的作者。Cedric 目 前是Lille大学的研究员。他也是一个领先的国际互联网银行公司的开发部工作。他生活在法 国的 Lille。 George Franciscus 是Nexcel的负责人,该组织为许多行业提供技术和管理咨询,包括
电信,银行,人寿保险,财产和死亡保险。 George擅长于Java,JEE, Domino,关系数据 库,主机系统技术等。他有多伦多大学的计算机科学学士学位。 George和他的妻子和三个 孩子生活在加拿大的多伦多。 David winterfeldt是一个 Struts贡献者,以及 Commons validator包的作者。他是一个 实现J2EE技术的大公司的高级开发人员。 David目前住在纽约市 Craig mcclanahan, Struts框架的创立者,并为此书写了前言。 Craig是 Tomcat4的 主要架构师,以及 Java Web Services Developer Pack的实现架构师。他现在是Sun的 JavaServer Faces(JSR-127)的规范领导者和J2EE平台的Web层架构师。 Craig,作为 Struts的主要开发者, 也许是提供了本书最重要的部分一我们的写作框架 关于柄题 通过结合介绍、总揽,以及如何操作的例子,加 Action系列书旨在帮助进行学习稍铭 记。根据认知科学的研究,人们记住的事情是他们自我动因进行探索的事情。 虽然 Manning中没有一个认是认知科学家,但我们确信要使学习成为持久的记忆必须 经过各个阶段的探索,动手,以及对正在所学的进行重复。人们理解和记住新的事物,即使 说他们掌握了它们,仅仅是要在主动地探索之后。人类的学习是主动的( In action)。 In action 系列书的本质是它是例子驱动的。他鼓励读者去尝试,动手编一些新的代码,并探索新的想 本书标题还有另一方面,也是最实际的,原因:我们的读者都是很忙碌的。他们用书来 完成工作或者解决问题。他们需要一本书,允许他们很容易跳进跳出,并在他们需要的时候 学习他们需要的部分。他们需要一本书来帮助他们行动( In action)。这个系列的书就是针 对这些读者。 关于封面 封面上的图是一个来自于波尔多荒野的牧羊人,“ Berger des landes de bordeaux”。波尔 多地区位于法国的西南部,有很多非常适合葡萄种植的阳光充足的小山,以及散布着羊群的 开发和湿润的原野。踩在他的高跷上,牧羊人可以更好地在沼泽地中行进,并完成他的职责。 这个图来自于法国旅游手册 Encyclopedie des voyages,由G.St. Saveur编写,出版于 17%6年。现在放松旅行是一个新的现象,像这样的旅游书非常流行,将旅游者和自助旅行者 引向法国其他地区和国外的居住者。 Encyclopedie des voyages中多种多样的插图讲述了200年前的世界各地城镇的生动和独 特的景象。可以通过穿着习惯来区分相隔数十英里的两个区域的人们区分各自属于哪一个 地方。旅游指南给人的生活以一种隔离和距离的感觉,关于每一个历史时期如何同我们的过 度兴奋的现在如何不同。 因为地区差异,服装风格会不同,并且非常丰富,但是随时间淡化。现在已经很难各个 大陆的居住者了。也许,试着乐观地看待它,我们会对各式的个人生活得文化和视觉的多样 或者更加多样和有趣的智慧和技术 在 Manning我们赞成书记涵盖的计算机业务的创新,主动。以及两个世纪前的丰富的 区域生活多样性由旅游书中的图片给我们的生活带回来的乐趣
电信,银行,人寿保险,财产和死亡保险。George 擅长于 Java,J2EE,Domino,关系数据 库,主机系统技术等。他有多伦多大学的计算机科学学士学位。George 和他的妻子和三个 孩子生活在加拿大的多伦多。 David Winterfeldt 是一个Struts 贡献者,以及Commons Validator 包的作者。他是一个 实现J2EE技术的大公司的高级开发人员。David 目前住在纽约市。 Craig McClanahan,Struts 框架的创立者,并为此书写了前言。Craig 是Tomcat 4 的 主要架构师,以及Java Web Services Developer Pack的实现架构师。他现在是Sun的JavaServer Faces (JSR-127)的规范领导者和J2EE平台的Web层架构师。Craig,作为 Struts的主要开发者, 也许是提供了本书最重要的部分—我们的写作框架。 关于标题 通过结合介绍、总揽,以及如何操作的例子, In Action 系列书旨在帮助进行学习和铭 记。根据认知科学的研究,人们记住的事情是他们自我动因进行探索的事情。 虽然Manning 中没有一个认是认知科学家,但我们确信要使学习成为持久的记忆必须 经过各个阶段的探索,动手,以及对正在所学的进行重复。人们理解和记住新的事物,即使 说他们掌握了它们,仅仅是要在主动地探索之后。人类的学习是主动的(in action)。In Action 系列书的本质是它是例子驱动的。他鼓励读者去尝试,动手编一些新的代码,并探索新的想 法。 本书标题还有另一方面,也是最实际的,原因:我们的读者都是很忙碌的。他们用书来 完成工作或者解决问题。他们需要一本书,允许他们很容易跳进跳出,并在他们需要的时候 学习他们需要的部分。他们需要一本书来帮助他们行动(in action)。这个系列的书就是针 对这些读者。 关于封面 封面上的图是一个来自于波尔多荒野的牧羊人,“Berger des Landes de Bordeaux”。波尔 多地区位于法国的西南部,有很多非常适合葡萄种植的阳光充足的小山,以及散布着羊群的 开发和湿润的原野。踩在他的高跷上,牧羊人可以更好地在沼泽地中行进,并完成他的职责。 这个图来自于法国旅游手册 Encyclopedie des Voyages ,由J. G. St. Saveur编写,出版于 1796年。现在放松旅行是一个新的现象,像这样的旅游书非常流行,将旅游者和自助旅行者 引向法国其他地区和国外的居住者。 Encyclopedie des Voyages中多种多样的插图讲述了200年前的世界各地城镇的生动和独 特的景象。 可以通过穿着习惯来区分相隔数十英里的两个区域的人们区分各自属于哪一个 地方。旅游指南给人的生活以一种隔离和距离的感觉,关于每一个历史时期如何同我们的过 度兴奋的现在如何不同。 因为地区差异,服装风格会不同,并且非常丰富,但是随时间淡化。现在已经很难各个 大陆的居住者了。也许,试着乐观地看待它,我们会对各式的个人生活得文化和视觉的多样 性。或者更加多样和有趣的智慧和技术。 在 Manning 我们赞成书记涵盖的计算机业务的创新,主动。以及两个世纪前的丰富的 区域生活多样性由旅游书中的图片给我们的生活带回来的乐趣
第一部分 SmuA门 第一部分是 Struts入门。我们介绍 Java web应用,检视了框架的结构,构建了两个简单的应 用,并浏览了 Struts的配置组件
第一部分 Struts入门 第一部分是Struts 入门。我们介绍Java web 应用,检视了框架的结构,构建了两个简单的应 用,并浏览了Struts 的配置组件
1介f 本章包括 λ应用框架介绍 λ理解HTTP,CGl,servlet,和JsP λ使用 Model2架构 λ构建简单的应用
1 介绍 本章包括 λ 应用框架介绍 λ 理解HTTP, CGI, servlet, 和 JSP λ 使用 Model 2 架构 λ 构建简单的应用