深入解析Spring MVC与Web Flow

分类: 图书,计算机/网络,程序设计,Java Java Script J2EE,
作者: (美)拉德(Ladd,S.)等著;徐哲,沈艳译
出 版 社: 人民邮电出版社
出版时间: 2008-11-1字数: 508000版次: 1页数: 334印刷时间: 2008/11/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787115169730包装: 平装编辑推荐
“本书为Spring社区弥补了一大空白。”
——Lasse Koskela,JavaRanch版主,Test Driven作者
“本书是非常急缺的深入讲解Spring MVC和Spring Web Flow的图书……堪与Pro Spring相媲美。”
——Steve Anglin,资深Java技术专家
Spring MVC和Spring Web Flow是Spring平台上两个极为灵活而且功能强大的Web框架。前者是构建在Spring框架上的Web应用程序框架,可以同许多其他视图技术无缝集成;后者是控制业务处理流程的有效解决方案,提供了一种编写有状态和基于会话的Web应用程序的简便手段。
本书出自Spring核心开发者之手,不仅详细分析代码,全面剖析了两个框架的各种特性(包括一些不为人知的技术亮点),告诉读者如何最大程度地发挥出它们的潜力,还解密了设计这两个框架时的许多决策内幕、所应用的设计模式和面向对象技术,使读者能够更深入地了解Spring,并在自己的项目中运用这些专家技术,全面提升自己的Web开发境界。
本书由Spring框架的开发和维护者SpringSource公司组织编写,作者均为资深Spring工程师或咨询师。
Seth Ladd是资深Spring培训师,曾为NEC公司等许多国际性机构构建web系统。Darren Davison和steven Devijver都曾是Spring的核心开发人员,在Spring源代码和文档中可以很容易地找到他们的名字。而Colin Yates、 Keith Donald和 Rob Harrop均是SpringSource资深工程师,仍然是Spring新版本开发的核心骨干。Yates是J2EE主架构师,Donald是Spring Web Flow负责人,Harrop是Spring与Tomcat集成产品负责人。
内容简介
本书是Spring MVC和Web Flow两个框架的权威指南,书中包括的技巧和提示可以让你从这个灵活的框架中汲取尽可能多的信息。书中包含了一些开发良好设计和解耦的Web应用程序的最佳实践,介绍了Spring框架中的Spring MVC和Spring Web Flow,以及着重介绍利用Sprin9框架和Spring MVC编写Web应用程序的最佳方法。本书还介绍了Sprin9框架的设计模式,以及如何将同样的设计和技术应用到读者自己的代码中。
本书适合各层次Spring Web程序员阅读。
目录
第1章概述
1.1阅读顺序
1.2本书纵览
1.3导引
1.4读者对象
1.5进一步的资源
1.6升级到Spring的新版本
1.7本章小结
第2章Spring框架
2.1控制反转
2.1.1控制反转实例
2.1.2小结
2.2依赖注入
2.2.1Service Locator模式
2.2.2依赖注入
2.3Spring的ApplicationContext
2.4POJO归来
2.5对Web应用程序的影响
2.6本章小结
第3章Spring MVC应用程序架构
3.1抽象层
3.1.1层隔离
3.1.2Java接口作为层的约定
3.1.3Spring MVC应用程序中的层
3.2选择:条条大路通罗马
3.3本章小结
第4章Spring MVC初体验
4.1用例
4.1.1服务接口
4.1.2用例1
4.1.3用例2
4.1.4小结
4.2Web组件
4.2.1JAR依赖
4.2.2Controller类
4.2.3View类
4.2.4ModelAndView类
4.3构建主页用例
4.3.1Spring MVC 组件
4.3.2Web应用程序配置
4.3.3启动应用程序
4.3.4请求处理顺序
4.3.5小结
4.4构建航班搜索用例
4.4.1SimpleFormController
4.4.2SearchFlightsController
4.4.3表单视图
4.4.4Spring JSP标签
4.4.5成功视图
4.4.6小结
4.5整装待发
第5章处理管道
5.1处理请求
5.1.1请求工作流
5.1.2功能概览
5.1.3处理请求的各组件
5.2本章小结
第6章深入解析Controller
6.1概述
6.2Controller接口和实现
6.2.1设计初探
6.2.2AbstractController
6.2.3BaseCommandController
6.2.4绑定表单到bean
6.2.5SimpleFormController和处理表单
6.2.6Redirect After Submit模式
6.2.7MultiActionController
6.2.8AbstractWizardFormController
6.2.9ThrowawayController
6.2.10ValidatableThrowaway-Controller
6.3HandlerInterceptor
6.3.1HandlerInterceptor示例
6.3.2小结
6.4本章小结
第7章视图层
7.1视图中包含什么
7.2Spring的视图接口
7.2.1实现视图
7.2.2View和Controller:愉快的分离
7.3ViewResolver
7.3.1在上下文中解析视图
7.3.2ViewResolver的类型
7.3.3使Dispatcher知道ViewResolver
7.4重定向简述
7.5主题
7.5.1ThemeSource
7.5.2ThemeResolver
7.6视图层的国际化
7.6.1区域解析
7.6.2MessageSource Bean
7.6.3视图解析
7.6.4主题解析
7.7绑定支持
7.7.1绑定和验证顺序的概述
7.7.2视图模板的绑定支持
7.8本章小结
第8章受支持的视图类型
8.1JSP和JSTL
8.1.1模型暴露为请求属性
8.1.2展示模型
8.1.3JSP标签库
8.1.4表单
8.2Tiles
8.3Velocity和FreeMarker
8.3.1模板的优点和缺点
8.3.2模板引擎的基本配置
8.3.3暴露模型
8.3.4模板语言
8.3.5高级配置选项
8.3.6表单和SpringBind宏
8.3.7数字和日期工具
8.3.8附加的Velocity视图
8.3.9小结
8.4XML和XSLT
8.4.1定义XSLT视图
8.4.2转化XML源代码
8.4.3返回原始状态的XML
8.4.4XSLT的其他显著功能
8.4.5小结
8.5PDF
8.5.1配置应用程序以使用PDF视图
8.5.2用FOP创建模板PDF
8.6Excel
8.6.1创建模板
8.6.2编程
8.6.3配置应用程序
8.7JasperReports
8.7.1多种形式的视图
8.7.2填充报表
8.7.3小结
8.8创建新视图
8.9本章小结
第9章验证
9.1编程式Validator
9.2声明式Validator
9.3消息源
9.4Validator和业务逻辑
9.5Errors接口
9.6测试验证器
9.7本章小结
第10章测试Spring MVC应用程序
10.1概览
10.1.1单元测试
10.1.2单元测试小结
10.1.3集成测试
10.2测试小结
第11章Spring Web Flow入门
11.1Spring Web Flow的动机
11.1.1servlet规范的问题
11.1.2解决方案
11.2不是万能钥匙
11.3总览
11.3.1架构概览
11.3.2Spring Web Flow系统内部
11.3.3不同的作用域
11.3.4组成
11.4第一个流
11.4.1安装Spring Web Flow
11.4.2提出流目录结构
11.4.3Purchase Product流定义
11.4.4实现第一步:视图状态
11.4.5过渡
11.4.6动作
11.4.7Action bean定义
11.4.8测试流执行
11.4.9扩展AbstractFlowExecution-Tests
11.4.10决定状态
11.4.11动作状态
11.4.12结束状态
11.4.13Purchase Product流:接下来做什么
11.4.14Spring MVC部署
11.4.15FlowController
11.4.16FlowRegistry
11.4.17附加配置
11.4.18视图模板解析
11.4.19视图模板要求
11.4.20从浏览器中启动流
11.5本章小结
11.5.1模型对话
11.5.2允许扩展
11.5.3可测试
11.5.4鉴别流(简单而自然的语言)
第12章高级Spring Web Flow
12.1业务逻辑和流
12.2流粒度
12.2.1子流
12.2.2内嵌流
12.2.3小结
12.3管理FlowExecutions
12.3.1与Web框架集成
12.3.2FlowExecutionManager
12.3.3FlowExecution
12.3.4FlowExecutionListener
12.4FlowExecution仓库
12.4.1延续键
12.4.2FlowExecutionRepository实现
12.4.3有状态FlowExecution仓库
12.4.4无状态FlowExecution仓库
12.4.5完成后对话失效
12.5再次访问的状态和过渡
12.5.1动作状态
12.5.2POJO动作
12.5.3暴露POJO方法返回值
12.5.4使用视图状态和结束状态定制视图选择
12.5.5决定状态
12.6异常处理
12.7异常处理小结
12.8本章小结
附录AMVC应用程序的文档
A.1BeanDoc
A.1.1安装和构建BeanDoc
A.1.2在配置文件上运行BeanDoc
A.1.3其他选项
A.1.4控制输出
A.2小结
附录BAjax和DWR
B.1Spring和DWR
B.2应用的示例
B.2.1配置和代码改变
B.2.2介绍文件改变
B.3无障碍
B.4小结
书摘插图
第1章概述
1.1 阅读顺序
假如你是个急性子的人,很可能完全跳过这一章直奔代码。给你一条建议:若想一跃而过开始构建Spring MVC应用程序的话,请阅读第4章,那里有一些基本资料教你如何构建第一个Spring MVC应用程序。同时,我们也建议你返回到前面的章节,了解运用Spring MVC仓q建Web应用程序的理论及背景,这些有助于你更好地理解本书其他部分的内容。
1.2本书纵览
本书是Spring MVC诸多特性及功能的全面指南,其中包括的技巧和提示可以让你从这个灵活的框架中汲取尽可能多的信息,书中还包含了一些开发良好设计和解耦的Web应用程序的最佳实践。
本书既是指南又是教程,也是Web开发手册。将本书与Rob Harrop和Jan Machacek(Apress)合著的Pro Spring共读,将能收到最佳效果,因为本书没有从一般意义上讨论Spring框架,而是主要探讨利用Spring框架及Spring MVC编写Web应用程序的最佳方法。
1.3导引
本书涵盖的范围极广。本导引及章节大纲从总体上展示了书中内容及其所处位置。
第1章概述了本书内容,介绍了本书所面向的读者对象,并告诉读者如何获得更多信息和支持。
第2章复Spring框架,说明该框架存在的原因及其作用。整本书都在讲Spring框架,该章会激发你开始探索这个框架。如果你对其完全陌生,就需要购买一本讲述Spring框架的书,比如Pro Spring。
第3章涵盖了典型Spring MVC应用程序的架构和设计。轻代码而重设计,该章详细介绍了Web应用程序中共有的层以及充分利用Spring框架构建应用程序的一些简单指导原则。
第4章进入实质性内容,讲述Spring MVC。急于学习的读者会发现,这是体验实际应用程序的良好开端。该章没有涉及过多细节,但它确实运用了第3章中讲到的知识来构建一些实实在在的功能。
第5章深入讲述Spring MVC真正的工作机制:DispatcherServlet。该章讲述了所有Web应用程序都需要的配套服务以及如何对其进行配置和扩展。
……
