快速业务通道

Apache Geronimo和Spring框架,第1部分: 开发方法学 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
时,它还提供了其他特性,例如多部分功能(multipart functionality)、利用 servlet 侦听器的上下文初始化,以及面向 Web 的应用程序上下文。当与 WebWork 或 Struts 一起使用 Spring 时,这个包就是可用来与它们集成的包。

Apache Geronimo和Spring框架,第1部分: 开发方法学(8)

时间:2011-10-13 IBM Arun Chhatpar

选择合适的工作流

多数人可能都曾在定义 Web 应用程序工作流时碰到过困难。随着复杂步骤越来越多,情形会变得更为 麻烦。许多 Web 应用程序中包括一大堆复杂的浏览操作,其中用户可以自由地在页面间导航。当用户决 定采取某些行动时,则使用受控的导航,引导用户通过一系列的步骤达成其业务目标。

假设有个贷款申请站点的例子。它允许用户在提供各种不同的贷款选项细节的页面间自由导航。这是 一个很好的自由浏览 用例。但是,如果用户选择一个选项决定申请一笔贷款,就开始受控的工作流 —— 贷款申请流程。这个是一个受控导航或受控浏览的例子。

对于这种受控的导航,或称流,传统的建模方法无法将流作为一个最高级的概念来建模和实现。SWF 是 Spring 框架的分层架构中一个定义良好的组件,它以高效和功能强大的方式解决了这个问题。

遵循 Spring 框架的模型,SWF 也被设计为一个自包含的模块。它的流引擎对第三方 API 的依赖性非 常小,而且所有的依赖性都得到仔细的管理。SWF 让您清楚简单地显示 Web 应用程序的页面流,并可以 任何地方重用它,包括像 Struts、Spring MVC、Tapestry、JavaServer Faces (JSF) ,甚至是 portlet 这样的环境。

SWF 的优点

SWF 的优点有:

SWF 是一个自包含的模块,这样就可以设计出可重用的 Web 流,把它用于类似的场合。

SWF 易于使用,这是因为它具有定义良好的构造。它具有清晰、可配置的生命周期,由容器自动进行 管理。

通过查看相应的 Web 流定义(在一个 .xml 或 Java 类中),可以清楚地看到 Web 应用程序中的页 面流。

如前所述,SWF 可以很容易地插入到其他框架中去。

简言之,SWF 是一个基于有限状态机的功能强大的控制器,它完全解决了 MVC 结构中 “C” 的问题 。在本系列教程将来的几部分中将学习关于 SWF 的更多知识。

Spring Web MVC

Spring 的 Web MVC 包提供了模型-视图-控制器(MVC)的实现。Spring 的 MVC 实现不仅仅是一个普 通的实现 —— 它在域建模代码和 Web 表单之间实现了清晰的分离,还允许使用 Spring 框架所有的其 他特性,如验证。

MVC 架构

对于基于 Web 的应用程序,MVC 架构是一种广泛采用的架构方案。它把应用程序分割为模型、视图和 控制器这三个层,并使它们相应的职能去耦。每个层处理特定的任务,并具有针对其他层的特定职能。

简言之,模型表示业务数据和业务逻辑。视图显示模型的内容,它从模型那里获得数据,并指定如何 显示这些数据。它分派用户的请求,并选择合适的视图来显示数据。

Spring 框架为构建 Web 应用程序提供了一个深思熟虑的 MVC 框架。Spring 的 MVC Web 应用程序框 架构建在核心功能之上。它是一个与 Struts 类似的基于请求的框架,但试图解决 Struts 所暴露出来的 缺陷。对于现代基于请求的框架必须处理的所有职能,Spring MVC 框架定义了不同的策略接口。这些接 口的职能都很简单和清楚,所以,Spring MVC 用户可以很容易地编写自己的实现。

Spring 的 Web MVC 框架是围绕 DispatcherServlet 设计的,这个组件具有前端控制器的职能,在 HTTP 请求的执行阶段,它负责把控制委派给各个接口。默认处理器是一个非常简单的控制器接口,它只 有一个方法:ModelAndView handleRequest(request, response)。

下面是 Spring MVC 定义的最重要的接口:

HandlerMappings:通

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号