推荐理由“本书为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.1 Service Locator模式
2.2.2 依赖注入
2.3 Spring的ApplicationContext
2.4 POJO归来
2.5 对Web应用程序的影响
2.6 本章小结
第3章 Spring MVC应用程序架构
3.1 抽象层
3.1.1 层隔离
3.1.2 Java接口作为层的约定
3.1.3 Spring 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.2 Web组件
4.2.1 JAR依赖
4.2.2 Controller类
4.2.3 View类
4.2.4 ModelAndView类
4.3 构建主页用例
4.3.1 Spring MVC 组件
4.3.2 Web应用程序配置
4.3.3 启动应用程序
4.3.4 请求处理顺序
4.3.5 小结
4.4 构建航班搜索用例
4.4.1 SimpleFormController
4.4.2 SearchFlightsController
4.4.3 表单视图
4.4.4 Spring 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.2 Controller接口和实现
6.2.1 设计初探
6.2.2 AbstractController
6.2.3 BaseCommandController
6.2.4 绑定表单到bean
6.2.5 SimpleFormController和处理表单
6.2.6 Redirect After Submit模式
6.2.7 MultiActionController
6.2.8 AbstractWizardFormController
6.2.9 ThrowawayController
6.2.10 ValidatableThrowaway-Controller
6.3 HandlerInterceptor
6.3.1 HandlerInterceptor示例
6.3.2 小结
6.4 本章小结
第7章 视图层
7.1 视图中包含什么
7.2 Spring的视图接口
7.2.1 实现视图
7.2.2 View和Controller:愉快的分离
7.3 ViewResolver
7.3.1 在上下文中解析视图
7.3.2 ViewResolver的类型
7.3.3 使Dispatcher知道ViewResolver
7.4 重定向简述
7.5 主题
7.5.1 ThemeSource
7.5.2 ThemeResolver
7.6 视图层的国际化
7.6.1 区域解析
7.6.2 MessageSource Bean
7.6.3 视图解析
7.6.4 主题解析
7.7 绑定支持
7.7.1 绑定和验证顺序的概述
7.7.2 视图模板的绑定支持
7.8 本章小结
第8章 受支持的视图类型
8.1 JSP和JSTL
8.1.1 模型暴露为请求属性
8.1.2 展示模型
8.1.3 JSP标签库
8.1.4 表单
8.2 Tiles
8.3 Velocity和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.4 XML和XSLT
8.4.1 定义XSLT视图
8.4.2 转化XML源代码
8.4.3 返回原始状态的XML
8.4.4 XSLT的其他显著功能
8.4.5 小结
8.5 PDF
8.5.1 配置应用程序以使用PDF视图
8.5.2 用FOP创建模板PDF
8.6 Excel
8.6.1 创建模板
8.6.2 编程
8.6.3 配置应用程序
8.7 JasperReports
8.7.1 多种形式的视图
8.7.2 填充报表
8.7.3 小结
8.8 创建新视图
8.9 本章小结
第9章 验证
9.1 编程式Validator
9.2 声明式Validator
9.3 消息源
9.4 Validator和业务逻辑
9.5 Errors接口
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.1 Spring Web Flow的动机
11.1.1 servlet规范的问题
11.1.2 解决方案
11.2 不是万能钥匙
11.3 总览
11.3.1 架构概览
11.3.2 Spring Web Flow系统内部
11.3.3 不同的作用域
11.3.4 组成
11.4 第一个流
11.4.1 安装Spring Web Flow
11.4.2 提出流目录结构
11.4.3 Purchase Product流定义
11.4.4 实现第一步:视图状态
11.4.5 过渡
11.4.6 动作
11.4.7 Action bean定义
11.4.8 测试流执行
11.4.9 扩展AbstractFlowExecution-Tests
11.4.10 决定状态
11.4.11 动作状态
11.4.12 结束状态
11.4.13 Purchase Product流:接下来做什么
11.4.14 Spring MVC部署
11.4.15 FlowController
11.4.16 FlowRegistry
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.2 FlowExecutionManager
12.3.3 FlowExecution
12.3.4 FlowExecutionListener
12.4 FlowExecution仓库
12.4.1 延续键
12.4.2 FlowExecutionRepository实现
12.4.3 有状态FlowExecution仓库
12.4.4 无状态FlowExecution仓库
12.4.5 完成后对话失效
12.5 再次访问的状态和过渡
12.5.1 动作状态
12.5.2 POJO动作
12.5.3 暴露POJO方法返回值
12.5.4 使用视图状态和结束状态定制视图选择
12.5.5 决定状态
12.6 异常处理
12.7 异常处理小结
12.8 本章小结
附录A MVC应用程序的文档
A.1 BeanDoc
A.1.1 安装和构建BeanDoc
A.1.2 在配置文件上运行BeanDoc
A.1.3 其他选项
A.1.4 控制输出
A.2 小结
附录B Ajax和DWR
B.1 Spring和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应用程序都需要的配套服务以及如何对其进行配置和扩展。
……
书摘与插图
