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

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

WebflowSpring MVC集成

server工程下,看web.xml文件中定义了一个casservlet,该类中并没有太多的业务逻辑,但是该类中持有了一个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文件映射成视图名称。

至此,springMVCwebflow已经集成完毕。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值