php 网站建设 教学,中小企业电子商务网站建设,二级域名做网站,如何用代码做分数查询的网站Spring Web Flow是一个Web框架#xff0c;它适用于元素按规定流程运行的程序。Spring Web Flow是Spring MVC的扩展#xff0c;它支持开发基于流程的应用程 序。它将流程的定义与实现流程行为的类和视图分离开来。在介绍Spring Web Flow的时候#xff0c;我们将暂时放下Spitt…Spring Web Flow是一个Web框架它适用于元素按规定流程运行的程序。Spring Web Flow是Spring MVC的扩展它支持开发基于流程的应用程 序。它将流程的定义与实现流程行为的类和视图分离开来。在介绍Spring Web Flow的时候我们将暂时放下Spittr样例并使用生成披萨订单的新Web应用程序。我们会使用Spring Web Flow来定义订 单流程。 一、在Spring中配置Web Flow Spring Web Flow是构建于Spring MVC基础之上的。这意味着所有的流 程请求都需要首先经过Spring MVC的DispatcherServlet。我们 需要在Spring应用上下文中配置一些bean来处理流程请求并执行流 程。 现在还不支持在Java中配置Spring Web Flow所以我们别无选择 只能在XML中对其进行配置。有一些bean会使用Spring Web Flow的 Spring配置文件命名空间来进行声明。因此我们需要在上下文定义 XML文件中添加这个命名空间声明 1.1 装配流程执行器 正如其名字所示流程执行器flow executor驱动流程的执行。当 用户进入一个流程时流程执行器会为用户创建并启动一个流程执行 实例。当流程暂停的时候如为用户展示视图时流程执行器会在 用户执行操作后恢复流程。 在Spring中flow:flow-executor元素会创建一个流程执行 器 尽管流程执行器负责创建和执行流程但它并不负责加载流程定义。 这个责任落在了流程注册表flow registry身上接下来我们会创建 它。 1.2 配置流程注册表 流程注册表flow registry的工作是加载流程定义并让流程执行器 能够使用它们。我们可以在Spring中使用flow:flow-registry 配置流程注册表如下所示 在这里的声明中流程注册表会在“/WEB-INF/flows”目录下查找流程 定义这是通过base-path属性指明的。依据flow:flowlocation-pattern元素的值任何文件名以“-flow.xml”结尾的 XML文件都将视为流程定义。 所有的流程都是通过其ID来进行引用的。这里我们使用了 flow:flow-location-pattern元素流程的ID就是相对于 base-path的路径——或者双星号所代表的路径。下图展示了示例 中的流程ID是如何计算的。 1.3 处理流程请求 DispatcherServlet一般将请求分发给 控制器。但是对于流程而言我们需要一个FlowHandlerMapping 来帮助DispatcherServlet将流程请求发送给Spring Web Flow。 在Spring应用上下文中FlowHandlerMapping的配置如下 FlowHandlerMapping装配了流程注册表的引用这 样它就能知道如何将请求的URL匹配到流程上。然而FlowHandlerMapping的工作仅仅是将流程请求定向到 Spring Web Flow上响应请求的 是FlowHandlerAdapter。FlowHandlerAdapter等同于Spring MVC的控制器它会响应发送的流程请求并对其进行处 理。FlowHandlerAdapter可以像下面这样装配成一个Spring bean如下所示 这个处理适配器是DispatcherServlet和Spring Web Flow之间的 桥梁。它会处理流程请求并管理基于这些请求的流程。在这里它装 配了流程执行器的引用而后者是为所处理的请求执行流程的。 转载于:https://www.cnblogs.com/lyj-gyq/p/9100392.html