因为在项目中有一部分功能的设计看上去和命令模式比较像,因此,特意研究了下XWork。
XWork号称是通用,可重用以及可扩展的命令模式的框架。主要牵涉到的类就是
Action:命令接口,Action的返回结果就是String类型,其实是代表Action的执行状态,是成功了,还是失败了。
ActionInvocation:命令的调用者(Action和ActionInvocation分开,是典型的Command模式)
ActionContext:和ActionInvocation相关的命令的上下文,一般就是执行这个命令所需要的一些参数对象。如果f(x,y)可以表示命令的话,那么x,y就是这里的ActionContext的值:),不知道理解得对不对。我看源代码
public class ActionContext implements Serializable {
static ThreadLocal actionContext = new ActionContextThreadLocal();
public static final String SESSION = "com.opensymphony.xwork.ActionContext.session";
...
private static class ActionContextThreadLocal extends ThreadLocal {
protected Object initialValue() {
OgnlValueStack vs = new OgnlValueStack();
return new ActionContext(vs.getContext());
}
}
ActionContext包含了很多将请求的信息转换为内部Map来存储。
Result:表示执行结果,和ActionInvoation相关联,是和后面View的实现相关联的。
我比较疑惑的是,这里的Result是接口,和后续的处理相关联。那实际Action执行之后得到的数据在什么地方?都放在ActionContext当中去了?
如果是的话,命令的输入参数由ActionContext来表示,执行动作后的输出参数也放在ActionContext中了,如何做到的。
非常疑惑。我特别想将请求参数和输出结果分开,搞不懂。
分享到:
相关推荐
XWork是一个命令模式框架,用于支持Struts 2及其他应用。 XWork处理用户请求参数数据时存在漏洞,远程攻击者可以利用此漏洞在系统上执行任意命令。 Struts2中WebWork框架使用XWork基于HTTP参数名执行操作和调用,...
**标题:“jdf.rar_基于xwork框架”** **描述:**这个压缩包“jdf.rar”包含了一个名为“jdf”的门户...深入研究这个框架的源代码将有助于提升对Java企业级开发的理解,特别是对于XWork、Spring和MVC模式的实际运用。
《XWork 2.1.5:Web框架的核心组件与应用》 XWork是一个Java Web开发中的关键框架,它的核心在于提供了一套强大的动作处理机制和业务逻辑支持。在描述中提到的“xwork-2.1.5-all”是一个包含XWork所有组件的综合包...
XWork是一个强大的Action框架,它为Java Web应用程序提供了模型-视图-控制器(MVC)模式的支持。这个框架的主要目标是简化企业级应用的开发,提高代码的可维护性和可扩展性。在本篇文章中,我们将深入探讨XWork的...
标题 "xwork" 暗示我们关注的是一个与软件框架或库相关的概念,特别是它在Java企业级开发中的应用。XWork是一个历史悠久的开源项目,它是Struts 1框架的核心部分,负责处理Action的执行逻辑。Struts是Apache软件基金...
- 设计模式的应用:了解如何在XWork中有效地应用设计模式,如工厂模式、单例模式等,可以提升代码质量。 - 性能调优策略:学习如何配置和优化XWork以适应高并发场景。 通过这份“最新文档”,开发者不仅可以掌握...
2. **命令模式**:XWork采用了命令模式的设计,Action就像一个命令对象,接收请求并执行相应的业务逻辑。这种设计模式有助于实现职责分离,提高代码的可维护性。 3. **拦截器(Interceptor)**:拦截器是XWork的一...
2. **命令模式**:XWork采用了命令模式设计,每个Action对应一个业务操作。 3. **拦截器(Interceptor)**:XWork的拦截器链允许在Action执行前后插入自定义逻辑,如日志记录、事务管理、权限检查等。 4. **工作流...
XWork的设计理念是基于“命令模式”,即每个HTTP请求都被映射到一个特定的Action,这个Action负责处理请求并返回结果。XWork通过ActionContext来管理请求和响应的数据,提供了一种统一的上下文环境。此外,它还引入...
XWork 是 Struts 2 框架的核心组件之一,它提供了一种强大的动作处理机制,包括事务管理、异常处理和类型转换等功能。XWork 2.1.6 版本的 doc 文档包含了详细的 API 参考、用户指南和开发者信息,帮助开发者深入理解...
xwork-1.1.1.jar, xwork-1.1.jar, xwork-1.2.1.jar, xwork-1.2.3.jar, xwork-2.0.0.jar, xwork-2.0.1.jar, xwork-2.0.3.jar, xwork-2.0.4.jar, xwork-2.0.5.jar, xwork-2.0.6.jar, xwork-2.0.7.jar, xwork-2.1.0.jar...
《深入解析xwork-src:揭示Web应用开发的强大框架》 在Web应用开发的世界里,xWork框架是一个不可或缺的工具,其源代码库“xwork-src”为我们提供了深入了解这个框架内部运作机制的机会。本文将深入探讨xwork-src的...
XWork提供了一种强大的、可扩展的、基于事件驱动的模型-视图-控制器(MVC)设计模式实现,支持拦截器和类型转换等关键功能。在深入理解XWork之前,我们首先要了解它与Struts2的关系。 **一、XWork与Struts2的关系**...
《深入解析xwork 2.x源码:从2.1.2到2.2.1的演进》 xwork作为一个强大的Action框架,是Struts2的...通过深入学习xwork源码,开发者可以更好地掌握MVC设计模式,理解Web应用的控制层实现,从而在实践中发挥更大的效能。
《深入解析xwork-2.0.7:框架与源码探索》 xwork-2.0.7是一个重要的Java框架,它在Web应用开发领域扮演着不可或缺的角色。本篇文章将详细探讨xwork的核心功能、设计理念以及如何通过其源码进行深入学习。 一、...
JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源...
这个资源包的核心是XWork框架,它是Struts2框架的基础,旨在提供一种灵活且可扩展的方式来管理应用程序的行为。在Java开发领域,XWork因其强大的功能和易用性而受到广泛欢迎。 XWork框架的主要功能包括动作调度、...
《深入剖析Struts2核心组件:XWork框架2.0.5源码解析》 在Java Web开发领域,Struts2作为一款强大的MVC框架,因其灵活、易用的特性深受开发者喜爱。其中,XWork框架是Struts2的核心组成部分,负责处理动作执行和...
xWork是一个广泛使用的Java框架,主要用于构建企业级应用,它强调业务逻辑的控制层,帮助开发者实现MVC(Model-View-Controller)设计模式。这份源代码能够帮助开发者深入理解xWork的工作原理,提升开发效率,并进行...
1. **Action与Command模式**:Xwork基于设计模式中的Command模式,实现了Action接口,Action是业务逻辑的载体,接收并处理来自用户请求的数据。 2. **OGNL(Object-Graph Navigation Language)**:Xwork使用OGNL...