深入解析Spring MVC与Web Flow

2019-03-14 09:00|来源: 网络

 

  英文版:Expert Spring MVC and Web Flow

内容简介
 
《深入解析Spring MVCgn Web Flow》是Spring MVC 和Web Flow 两个框架的权威指南,书中包括的技巧和提示可以让你从这个灵活的框架中汲取尽可能多的信息。书中包含了一些开发良好设计和解耦的Web 应用程序的最佳实践,介绍了Spring 框架中的Spring MVC 和Spring Web Flow,以及着重介绍利用Spring 框架和Spring MVC 编写Web 应用程序的最佳方法。《深入解析Spring MVCgn Web Flow》还介绍了Spring 框架的设计模式,以及如何将同样的设计和技术应用到读者自己的代码中。  
《深入解析Spring MVCgn Web Flow》适合各层次Spring Web 程序员阅读。  
 
  编辑推荐  
《深入解析Spring MVCgn Web Flow》来自Spring开发团队的权威之作前所未有地深入剖析Spring MVC技术内幕大量专家经验和技巧,全面提升你的Web开发境界  
Spring MVC和Spring Web Flow是Spring平台上两个极为灵活而且功能强大的Web框架。前者是构建在Spring框架上的Web应用程序框架,可以同许多其他视图技术无缝集成;后者是控制业务处理流程的有效解决方案,提供了一种编写有状态和基于会话的Web应用程序的简便手段。  
《深入解析Spring MVCgn Web Flow》出自Spring核心开发者之手,不仅详细分析代码,全面剖析了两个框架的各种特性(包括一些不为人知的技术亮点)。告诉读者如何最大程度地发挥出它们的潜力。还解密了设计这两个框架时的许多决策内幕、所应用的设计模式和面向对象技术,使读者能够更深入地了解Spring。并在自己的项目中运用这些专家技术,全面提升自己的Web开发境界。  
《深入解析Spring MVCgn Web Flow》由spring框架的开发和维护者SpringSource公司组织编写,作者均为资深Spring工程师或咨询师。  
Seth Ladd是资深Spring培训师,曾为NEC公司等许多国际性机构构建Web系统。Darren Davison和StevenDevijver都曾是Spring核心开发人员,在Spring源代码和文档中可以很容易地找到他们的名字。而Colin Yates、Keith Donald和Rob Harrop均是SpringSource资深工程师,仍然是Spring新版本开发的核心骨干。Yalcs是.J2EE主架构师,Donald是SpringWeb Flow负责人,Hartop是Spring与Tomcat成产品负责人。“《深入解析Spring MVCgn Web Flow》为Spring社区弥补了一大空白。”  
——Lasse Koskela.JavaRanch版主,Test Driven作者“《深入解析Spring MVCgn Web Flow》是非常急缺的深入讲解Spring MVCf~~Spring Web Flow的图书堪与Pro Spring相媲美。”  
——Steve Anglin,资深Java技术专家  
 
  作者简介  
作者:(美国)Seth ladd (美国)Darren Davison (美国)Stenen Devijver 译者:徐哲 沈艳  
 
 

目录    
第1章 概述 1
1.1 阅读顺序 2
1.2 《深入解析Spring MVCgn Web Flow》纵览 2
1.3 导引 2
1.4 读者对象 3
1.5 进一步的资源 4
1.6 升级到Spring的新版本 5
1.7 本章小结 6

第2章 Spring框架 7
2.1 控制反转 7
2.1.1 控制反转实例 7
2.1.2 小结 10
2.2 依赖注入 10
2.2.1 Service Locator模式 12
2.2.2 依赖注入 13
2.3 Spring的ApplicationContext 15
2.4 POJO归来 16
2.5 对Web应用程序的影响 17
2.6 本章小结 17

第3章 Spring MVC应用程序架构 18
3.1 抽象层 18
3.1.1 层隔离 19
3.1.2 Java接口作为层的约定 20
3.1.3 Spring MVC应用程序中的层 21
3.2 选择:条条大路通罗马 32
3.3 本章小结 33

第4章 Spring MVC初体验 34
4.1 用例 34
4.1.1 服务接口 34
4.1.2 用例1 35
4.1.3 用例2 37
4.1.4 小结 42
4.2 Web组件 42
4.2.1 JAR依赖 42
4.2.2 Controller类 43
4.2.3 View类 44
4.2.4 ModelAndView类 44
4.3 构建主页用例 44
4.3.1 Spring MVC 组件 44
4.3.2 Web应用程序配置 49
4.3.3 启动应用程序 52
4.3.4 请求处理顺序 53
4.3.5 小结 54
4.4 构建航班搜索用例 55
4.4.1 SimpleFormController 55
4.4.2 SearchFlightsController 56
4.4.3 表单视图 59
4.4.4 Spring JSP标签 61
4.4.5 成功视图 62
4.4.6 小结 63
4.5 整装待发 64

第5章 处理管道 65
5.1 处理请求 65
5.1.1 请求工作流 65
5.1.2 功能概览 65
5.1.3 处理请求的各组件 67
5.2 本章小结 97

第6章 深入解析Controller 98
6.1 概述 98
6.2 Controller接口和实现 99
6.2.1 设计初探 99
6.2.2 AbstractController 100
6.2.3 BaseCommandController 104
6.2.4 绑定表单到bean 105
6.2.5 SimpleFormController和处理表单 128
6.2.6 Redirect After Submit模式 142
6.2.7 MultiActionController 145
6.2.8 AbstractWizardFormController 153
6.2.9 ThrowawayController 168
6.2.10 ValidatableThrowaway-Controller 170
6.3 HandlerInterceptor 171
6.3.1 HandlerInterceptor示例 172
6.3.2 小结 173
6.4 本章小结 173

第7章 视图层 175
7.1 视图中包含什么 175
7.2 Spring的视图接口 176
7.2.1 实现视图 177
7.2.2 View和Controller:愉快的分离 180
7.3 ViewResolver 181
7.3.1 在上下文中解析视图 182
7.3.2 ViewResolver的类型 183
7.3.3 使Dispatcher知道ViewResolver 186
7.4 重定向简述 187
7.5 主题 188
7.5.1 ThemeSource 189
7.5.2 ThemeResolver 190
7.6 视图层的国际化 190
7.6.1 区域解析 191
7.6.2 MessageSource Bean 191
7.6.3 视图解析 192
7.6.4 主题解析 192
7.7 绑定支持 193
7.7.1 绑定和验证顺序的概述 193
7.7.2 视图模板的绑定支持 193
7.8 本章小结 193

第8章 受支持的视图类型 194
8.1 JSP和JSTL 194
8.1.1 模型暴露为请求属性 195
8.1.2 展示模型 196
8.1.3 JSP标签库 197
8.1.4 表单 198
8.2 Tiles 202
8.3 Velocity和FreeMarker 204
8.3.1 模板的优点和缺点 205
8.3.2 模板引擎的基本配置 205
8.3.3 暴露模型 206
8.3.4 模板语言 207
8.3.5 高级配置选项 208
8.3.6 表单和SpringBind宏 209
8.3.7 数字和日期工具 215
8.3.8 附加的Velocity视图 216
8.3.9 小结 216
8.4 XML和XSLT 217
8.4.1 定义XSLT视图 217
8.4.2 转化XML源代码 219
8.4.3 返回原始状态的XML 220
8.4.4 XSLT的其他显著功能 221
8.4.5 小结 222
8.5 PDF 222
8.5.1 配置应用程序以使用PDF视图 223
8.5.2 用FOP创建模板PDF 224
8.6 Excel 224
8.6.1 创建模板 224
8.6.2 编程 225
8.6.3 配置应用程序 225
8.7 JasperReports 226
8.7.1 多种形式的视图 227
8.7.2 填充报表 228
8.7.3 小结 229
8.8 创建新视图 229
8.9 本章小结 229

第9章 验证 230
9.1 编程式Validator 230
9.2 声明式Validator 231
9.3 消息源 241
9.4 Validator和业务逻辑 242
9.5 Errors接口 243
9.6 测试验证器 244
9.7 本章小结 245

第10章 测试Spring MVC应用程序 246
10.1 概览 246
10.1.1 单元测试 246
10.1.2 单元测试小结 262
10.1.3 集成测试 263
10.2 测试小结 267

第11章 Spring Web Flow入门 268
11.1 Spring Web Flow的动机 268
11.1.1 servlet规范的问题 268
11.1.2 解决方案 270
11.2 不是万能钥匙 272
11.3 总览 272
11.3.1 架构概览 272
11.3.2 Spring Web Flow系统内部 273
11.3.3 不同的作用域 273
11.3.4 组成 274
11.4 第一个流 276
11.4.1 安装Spring Web Flow 276
11.4.2 提出流目录结构 276
11.4.3 Purchase Product流定义 277
11.4.4 实现第一步:视图状态 277
11.4.5 过渡 277
11.4.6 动作 278
11.4.7 Action bean定义 279
11.4.8 测试流执行 280
11.4.9 扩展AbstractFlowExecution-Tests 281
11.4.10 决定状态 282
11.4.11 动作状态 283
11.4.12 结束状态 284
11.4.13 Purchase Product流:接下来做什么 285
11.4.14 Spring MVC部署 285
11.4.15 FlowController 286
11.4.16 FlowRegistry 286
11.4.17 附加配置 286
11.4.18 视图模板解析 287
11.4.19 视图模板要求 287
11.4.20 从浏览器中启动流 288
11.5 本章小结 288
11.5.1 模型对话 289
11.5.2 允许扩展 289
11.5.3 可测试 289
11.5.4 鉴别流(简单而自然的语言) 289

第12章 高级Spring Web Flow 290
12.1 业务逻辑和流 290
12.2 流粒度 291
12.2.1 子流 291
12.2.2 内嵌流 297
12.2.3 小结 299
12.3 管理FlowExecutions 299
12.3.1 与Web框架集成 299
12.3.2 FlowExecutionManager 301
12.3.3 FlowExecution 301
12.3.4 FlowExecutionListener 304
12.4 FlowExecution仓库 306
12.4.1 延续键 306
12.4.2 FlowExecutionRepository实现 308
12.4.3 有状态FlowExecution仓库 309
12.4.4 无状态FlowExecution仓库 309
12.4.5 完成后对话失效 310
12.5 再次访问的状态和过渡 310
12.5.1 动作状态 311
12.5.2 POJO动作 313
12.5.3 暴露POJO方法返回值 314
12.5.4 使用视图状态和结束状态定制视图选择 314
12.5.5 决定状态 316
12.6 异常处理 317
12.7 异常处理小结 319
12.8 本章小结 320

附录A MVC应用程序的文档 321
A.1 BeanDoc 321
A.1.1 安装和构建BeanDoc 321
A.1.2 在配置文件上运行BeanDoc 322
A.1.3 其他选项 323
A.1.4 控制输出 324
A.2 小结 324

附录B Ajax和DWR 325
B.1 Spring和DWR 325
B.2 应用的示例 326
B.2.1 配置和代码改变 326
B.2.2 介绍文件改变 328
B.3 无障碍 333
B.4 小结 334    

相关问答

更多
  • spring 是一种实现了 ioc 跟AOP 这两种思想的框架 spring 跟 spring framework 是同一个东西,ioc跟aop是两种编程上的理念,跟别的东西没什么关系 spring mvc 是在spring 这个框架的基础上,做得一个web框架,某种意义上来说,就是把 ioc跟aop这两种编程的理念移到web开发上来, spring web flow 是基于spring mvc的,它所关注的是web工作流,在spring mvc的基础上,增加对web工作流的支持, 个人理解,错了,别见怪
  • 本书是Spring MVC和Web Flow两个框架的权威指南,书中包括的技巧和提示可以让你从这个灵活的框架中汲取尽可能多的信息。书中包含了一些开发良好设计和解耦的Web应用程序的最佳实践,介绍了Spring框架中的Spring MVC和Spring Web Flow,以及着重介绍利用Sprin9框架和Spring MVC编写Web应用程序的最佳方法。本书还介绍了Sprin9框架的设计模式,以及如何将同样的设计和技术应用到读者自己的代码中。
  • 《深入解析Spring MVCgn Web Flow》是Spring MVC 和Web Flow 两个框架的权威指南,书中包括的技巧和提示可以让你从这个灵活的框架中汲取尽可能多的信息。书中包含了一些开发良好设计和解耦的Web 应用程序的最佳实践,介绍了Spring 框架中的Spring MVC 和Spring Web Flow,以及着重介绍利用Spring 框架和Spring MVC 编写Web 应用程序的最佳方法。《深入解析Spring MVCgn Web Flow》还介绍了Spring 框架的设计模式, ...
  • HDIV 2.0.4是支持Spring Webflow的最后一个版本。 支持的Spring Webflow版本是1.0.5,下载zip中有一个名为“hdiv-web-webflow-1.0.5”的示例应用程序。 HDIV不维护较新版本的Webflow。 如果您想自己构建它,可以查看以下代码: https : //github.com/hdiv/hdiv/pull/2/ HDIV 2.0.4 is the last version that support Spring Webflow. Supported ...
  • 正如@Bozho所说,没有Web的WebFlow是没有意义的 - 它是一个Web框架。 如果您想要的是声明性工作流框架,那么请查看OSWorkflow 。 它现在变得有点老了,但在我有限的经验中它运作良好。 As @Bozho says, it makes no sense to have WebFlow without the Web - it's a web framework. If what you want is a declarative workflow framework, then tak ...
  • 我现在花了一些时间在这个上。 我认为与注释相反的原因是设计。 一旦有人开始思考,流程配置很简单,并导致非常快速的发展。 是的,它似乎处于维护模式,但设计坚实可靠,开发似乎非常有效。 学习曲线有点陡峭,特别是如果集成到一个现存的Web应用程序中,但我在三天左右就开始运行。 Webflow自己的文档并不好,但这里链接的教程非常好。 UPDATE 5个月后,我建立了一个完整的评估系统(即测试/考试系统)。 我的背景是IT,我拥有心理学博士学位。 我建立的系统已经过彻底的测试和压力测试。 webflow的优点。 一 ...
  • 这是从链接获取的请求生命周期的一个很好的图像。 这里还有一篇文章为您提供生命周期事件。 。 Here is a nice image of the request lifecycle taken from the link. Also here is an article giving you the life-cycle events. .
  • 我找到了自己的问题的答案 - 而不是尝试通过Java方法参数从流传递流范围的参数,它可以通过调用方法中的org.springframework.webflow.execution.RequestContextHolder获取: RequestContextHolder.getRequestContext().getFlowScope().get("parameter"); PS: 如果要设置流范围参数,请使用 RequestContextHolder.getRequestContext().getFlow ...
  • 您可以使用SimpleUrlHandlerMapping以这种方式将流程映射到mySite.com/flows
    尝试在javascript函数中专门指定eventId: function includeEvent(eventId){ document.getElementById("yourForm")._eventId.value = eventId; document.getElementById("yourForm").submit(); } 将_eventId包含为隐藏类型: