深入解析Spring MVC与Web Flow编程开发
基本信息
原书名:Expert Spring MVC and Web Flow
原出版社: Apress
作者:(美)Seth Ladd Darren Davison Steven Devijver Colin Yates
译者:徐哲沈艳
丛书名: 图灵程序设计丛书.Java开发系列
出版社:人民邮电出版社
ISBN:9787115169730
出版日期:2008 年11月
开本:16开
页码:334
版次:1-1
编辑推荐
来自Spring开发团队的权威之作.
前所未有地深入剖析Spring MVC技术内幕..
大量专家经验和技巧,全面提升你的Web开发境界
内容简介
本书是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 小结
前言
Spring MVC和Spring Web Flow是Spring的开发人员和社区为我们带来的两个非常灵活和强大的两个Web框架。Spring MVC是一个构建于Spring Framework之上的现代Web应用程序框架;而Spring Web Flow则是一个现在已经独立于Spring Framework之外、用于配合Spring MVC的新项目,主要用于构建可重用的封装了丰富的页面导航规则的Web控制器模块。本书深入探讨了这两个框架。除了详细分析代码及其功能之外,我们还穿插了与这两个框架以及一般意义上的Web开发相关的大量技巧。
我们写作本书的目的是告诉读者如何最大程度地发挥出这两个框架的潜力。在本书的帮助下,你可以更清楚地研究源代码,加深对框架的理解,开发出高质量的应用程序。
我们在开发Spring MVC和Spring Web Flow时充分运用了设计模式和许多面向对象的专家技术。本书不仅将解释我们设计这两个框架时的许多设计决策是如何做出的,而且还会告诉读者如何在自己的项目中应用类似的设计思路和技巧。
我们花费了不少心血,力图讲清楚Spring MVC和Spring Web Flow两个框架的每个细节,给读者建立大局观。除了它们最著名的特性之外,我们还讲述了许多不为人知的技术亮点。但是我们深知,框架不可能解决所有问题,所以还详细探讨了如何正确和安全地扩展框架,得到灵活、更符合客户需求的解决方案。
无论你是初学者,还是专家,通过本书,你可以更加自信地投入到Spring Web应用的开发中去。
一本书仅靠作者是不可能完成的,它是很多人的专业知识、辛勤劳动、宝贵时间和超常努力的成果。本书应归功于参与其事的每个人。
首先我要感谢我的妻子,一个拥有天使般耐心的人。她的爱和支持陪伴我写作的始终。
我也要感谢我的合著者,因为他们贡献了独特而无价的知识和洞察力,从而产生了比我单独创作更出色的著作。感谢Darren、Steven、Keith和Colin!
如果没有Apress出版社编辑们的才干和专业知识,这本书不可能面世。具体地说,我衷心感谢Sofia Marchant和Beckie Brand协调各部门,并尽最大努力确保本书做到最好。我要特别感谢Stephanie Provines,没有她的帮助,我们将很难完成Spring MVC的相关内容。她对细节的关注令人印象深刻,而且极具价值。我也要特别感谢Steve Anglin给了我这个机会。对于未提及的其他所有人,我永远感谢你们。
我很高兴由Rob Harrop来做本书的技术审稿人。他的建议总是准确有用而且专业。谢谢你,Rob,我很荣幸有你作为这个团队的一份子。
谢谢Erwin Vervaet、Dan Leuck和Colin Sampaleanu在审阅本书时提出的专业建议。谢谢Kathleen Fitzgerald的拍摄。最后,谢谢Spring框架的开发者和社区,从他们那里我学到了极其多的关于软件开发的知识。
SethLadd
首先我要谢谢Seth Ladd给了我合著这本卓越的书的机会。同样我要谢谢Rob Harrop,让我们可以分享他关于Spring Web MVC的见解,感谢他为本书做技术审稿。非常感谢Spring核心开发者创建并坚持不懈地扩展这个令人称奇的框架。也谢谢Erwin Vervaet和Keith Donald创建了Spring Web Flow。同样感谢我的家人对我的支持。尤其要谢谢女友Filiz对我的支持,她亲自校对并带给我温暖和动力。谢谢!
Steven Devjiver
书摘
第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应用程序都需要的配套服务以及如何对其进行配置和扩展。
……