会话流应用程序实现

时间:2012-11-01 07:05:10

标签: java spring web-applications spring-webflow spring-webflow-2

Spring Web流程是否广泛用于工业中的会话流行为应用程序或向导类应用程序。这种应用程序的主要目的是减少我们需要保持会话的数据吗?是否值得采用Web流程等框架,或者这种企业应用程序的其他行业标准实现是什么?

以下是Spring声称的弹簧网络流程的正常实现的缺点,

  1. 可视化流程非常困难。
  2. 应用程序有很多代码访问HTTP会话。
  3. 实施受控导航很重要,但不可能。
  4. 正确的浏览器后退按钮支持似乎无法实现。
  5. 浏览器和服务器与“后退”按钮的使用不同步。
  6. 多个浏览器选项卡会导致HTTP会话数据出现并发问题。

1 个答案:

答案 0 :(得分:4)

如果您的网站中有任何功能比填写表单更多的步骤并提交我肯定会选择spring webflow。

Webflow仍然使用会话来存储数据,但会为您抽象所有内容,并在流程结束时对会话进行清理。

您可以根据需要同时拥有任意数量的“实例”流。考虑创建一个购买证券的流程,一旦你点击购买,就会创建一个单独的交易上下文,你可以继续完成你想要的任何步骤(添加一个值,检查限制等)孤立国家。

flow xml文件易于理解,并且随着流程的增加而具有更多功能,因此非常易于管理。

单元测试流的方法的整个结构也非常容易模拟,这在处理传统控制器上的模拟会话对象时是一个巨大的优势。 (http://vishwanathk.wordpress.com/2011/07/12/using-mockito-to-unit-test-spring-webflow/)

尝试一下,首先你会多次告诉自己,“哦,我应该只编写一个控制器和一些动作映射。但在了解了webflow的工作方式后,你永远不会去编写代码。传统控制器上的一步。