首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

用户登录之webflow配备详解(一)

2012-10-12 
用户登录之webflow配置详解(一)该部分主要是讲解在CAS server中登录流程的定义以及相关源码分析。我们注重

用户登录之webflow配置详解(一)

该部分主要是讲解在CAS server中登录流程的定义以及相关源码分析。我们注重的更多是与CAS相关的业务部分。所以,我们重点是对登录流程的讲解。具体涉及到webflow的知识点,我会粗略的讲解一下,但不会针对webflow的原理或源码进行大篇幅的讲解。想深入理解webflow工作原理的读者需要参考官方的webflow2.21版本的reference。

Webflow与Spring MVC集成

在server工程下,看web.xml文件中定义了一个cas的servlet,该类中并没有太多的业务逻辑,但是该类中持有了一个DispatcherServlet。该类是spring MVC的核心类。也是处理请求的实际的业务类。通过该类的实例,cas server将用户发往cas servlet的请求交给spring MVC处理。

Spring MVC核心配置文件是cas-servlet.xml。在该文件中,webflow将于springMVC进行集成。

下面,我们就从login开始说起。

<!-- 根据工作流定义,生成一个执行器 -->

??? <webflow:flow-executor id="flowExecutor" flow-registry="flowRegistry">

??????? <webflow:flow-execution-attributes>

??????????? <webflow:always-redirect-on-pause value="false" />

??????? </webflow:flow-execution-attributes>

??? </webflow:flow-executor>

?

??? <!-- 注册一个工作流? id是子路径? 为flow入口-->

??? <webflow:flow-registry id="flowRegistry" flow-builder-services="builder">

??????? <webflow:flow-location path="/WEB-INF/login-webflow.xml" id="login" />

??? </webflow:flow-registry>

?

<webflow:flow-builder-services id="builder" view-factory-creator="viewFactoryCreator" expression-parser="expressionParser" />

?

?

在该文件中,我们可以看到上面的配置项。这就是将webflow框架作为spring MVC的一个节点来进行配置。

webflow:flow-registry节点就是注册了一个webflow流程,该流程的入口,也就是ID=“login”。这样,交给springMVC的请求路径如果是login的,则有springMVC交给webflow处理。

在webflow中,会定义一些视图,这些视图都是以view=”XXX”的形式存在的。那么XXX又是如何找到对应的页面呢??看flow-builder-services节点,我们会发现有个view-factory-creator属性,该属性就定义了视图解析工厂。

该视图解析工厂是由视图解析器组成的。这里只定义了一个视图解析器,就是viewResolvers。该视图解析器是springFramework中的ResourceBundleViewResolver的一个实例,该类可以通过basenames属性,找到value值对应的properties属性文件,该文件中式类似ke=values类型的内容,正是该文件将jsp文件映射成视图名称。

至此,springMVC与webflow已经集成完毕。

热点排行