2018-05-17 XWORK

XWork Core Concepts

xwork 基于许多核心概念,来帮助解释框架的运行原理。这核心改你南可以分为两部分,架构概念和术语。

  • Architecture Concepts
  • Terminology

Architecture Concepts

  • Explain Command Driven Architecture (in general)
    解释命令驱动架构(一般)
  • Explain the implementation in XWork
    解释在xwork中的实现

Terminology

Actions

actions是为了响应一些请求,执行一些代码并返回结果的类。Actions实现了最低限度的单一的方法,execute(),它定义了框架调用的入口点,允许开发人员每次调用Action时执行的工作单元.

ActionContext

ActionContext 在Action调用期间以命名空间的形式提供对执行环境的访问。为每一个调用创建新的ActionContext,并允许开发人员在线程安全的情况下,访问和修改这些属性。ActionContext有许多可用的属性,并有框架设置为适当的值。在webwork2中,Actioncontext映射包装了一个底层HttpSession对象,这允许访问特定于环境的属性,而无需将核心框架绑定到特定的执行环境。有关更多信息,请参阅基础中的ActionContext。

Interceptors

在xwork中,拦截器是动态拦截Action调用的对象,它们为开发者提供了在execute before/after 定义代码的机会。它们也有能力阻止action的执行。拦截器为开发人员提供了一种将常见功能封装在可重用表单中的方法,该表单可应用于一个或多个操作。有关更多详细信息,请参阅拦截器。

Stacks

处理开发者将多个拦截器应用于一个action的情况,已经引入了堆栈,堆栈是一个拦截器的有序列表,或者其他堆栈的有序列表,当actions被调用的时候被应用。可以集中拦截器的声明并提供配置多个操作的便捷方式。

Results

结果是表示Actions 执行状态的字符串常量。一组标准的结果默认定义为:error, input, login, none and success。当然,开发人员可以自由创建他们自己的结果来表明更多的应用程序特定情况。

Result Types

结果类型是确定执行Action并返回结果后发生什么的类。开发人员可根据其应用程序或环境的需要自由创建自己的结果类型。在WebWork 2中,已经创建了Servlet和Velocity结果类型来处理Web应用程序中的呈现视图。

Packages

Packages 是一种组织actions,results,result types, 拦截器,堆栈 成为一个逻辑单元里阿共享一个配置,软件包类似于对象,因为它们可以扩展并具有被“子”软件包覆盖的单独部分。

ValueStacks

ValueStack是一个建立在OGNL核心之上的堆栈实现。OGNL表达式语言可用于遍历堆栈并检索所需的对象。OGNL表达式语言提供了许多附加功能,包括:自动类型转换,方法调用和对象比较。有关更多信息,请参阅OGNL网站。

Components

XWork提供了ComponentManager接口(以及DefaultComponentManager类中的相应实现)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • About XWork xwork2 是一个通用的命令模式框架,它构成了struts2 的核心。它的特点: 基于简...
    咯小屋阅读 3,085评论 1 0
  • 《通往财富自由之路》——投资的刚需是避险 思考与行动 1. 我曾经写过一篇文章《就算是“文盲”也千万别是“险盲”》...
    QimuAI阅读 3,567评论 2 1
  • 跟浩浩到西北山区村小看望志愿者,不期而遇了一场大雨,雨后的天空被洗过的蓝,晚霞映照的云彩在天空尽情舒展。远处连绵的...
    于跑跑阅读 981评论 1 0
  • 2017-02-15 刘叫兽 演讲干货 为什么要学习结构化思维!主要从三个方面,跟大家分享。 第一,具备结构化思维...
    刘叫兽阅读 6,514评论 0 10
  • 岁月流转,时光荏苒。若水做梦也没想到,在二十多年后,一个平凡的日子里,能见到海燕。虽然无数次的在梦里见到她!这个平...
    无忌将来不悔过去阅读 1,417评论 2 3