struts的一些组成部分(转)

1、ActionMapper和ActionMapping
org.apache.struts2.dispatcher.mapper.ActionMapper接口在HTTP请求和action调用请求之间提供一个映射。当给定一个HTTP请求时,ActionMapper根据请求的URI查找是否有对应的action,如果有,返回一个描述action调用的ActionMapping;如果没有,返回null。
ActionMapping本质上是一个数据传输对象,它将action类和要执行的方法的详细资料手机在一起。

2、ActionProxy和ActionInvocation
ActionProxy在XWork和真正的action之间充当代理角色,在通过框架执行action的过程中,因为是使用代理而不是直接操作对象,所以可以在代理中封装拦截器、result等额外代码。
ActionProxy持有ActionInvocation对象。ActionInvocation代表了action执行的当前状态。它持有拦截器(按顺序排列)、Action实例、结果映射(从结果吗到Result实例的映射)和ActionContext。

3、ActionContext
ActionContext是action执行的上下文。每一个上下文都相当于一个action执行所需的一组对象的容器,例如session、application、parameters、locale等。
ActionContext是线程本地的,这意味着在ActionContext中存储的值对于每个线程都是唯一的。所以对于某个action,如果要从ActionContext中获得数据,不需要担心线程安全的问题。
ActionContext的完整类名是com.opensymphony.xwork2.ActionContext。

4、ObjectFactory
com.opensymphony.xwork2.ObjectFactory负责构建核心的框架对象(拦截器、action、result等)。用户可以注册自己的ObjectFactory实现来控制这些对象的实例化。
你可以把ObjectFactory看成Struts2框架中一个专门负责创建对象的工厂,从这个工厂类派生的子类可以采用不同的方式来实例化对象。利用Struts2框架未ObjectFactory赋予的这种职责,通过提供ObjectFactory的自定义实现,可以很容易把框架和IoC容器(如Spring、Pico、Plexus等)集成在一起。

5、result
com.opensymphony.xwork2.Result接口代表action执行后的结果。每一个action执行都返回一个String类型的结果码,用于从配置的result元素列表中选择对应的result。result在Struts.xml文件中的配置


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/noside/archive/2009/02/16/3897102.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值