¿Por qué todavía necesitamos Spring Web Flow si ya tenemos buenos marcos web?
Spring Web Flow (SWF) se enfoca completamente en la definición y ejecución de una conversación compleja en una aplicación web, es decir, el flujo de la página de la aplicación web.
Para entender por qué es una buena solución, es una buena idea comenzar con el problema que intenta resolver y las complejidades involucradas en la solución. Un caso de ejemplo es la transacción de compra que implica agregar / actualizar el carrito de compras, proporcionar información del comprador, confirmar el pago del pedido, etc. Tiene un flujo de página web claro, si no hay ningún problema de seguridad. Sin embargo, puede haber problemas como saltos de pago, actualización de páginas, etc. SWF es una buena solución para esas situaciones.
SWF se puede integrar fácilmente con marcos existentes como Spring MVC, Struts y JSF, tanto en entornos de servlet como de portlet.
La relación entre Spring Web Flow y Spring MVC es clara en esta imagen.