struts2源码阅读

struts2源码阅读

ID:1123416

大小:154.68 KB

页数:39页

时间:2017-11-07

struts2源码阅读_第1页
struts2源码阅读_第2页
struts2源码阅读_第3页
struts2源码阅读_第4页
struts2源码阅读_第5页
资源描述:

《struts2源码阅读》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Struts2源码阅读(一)-Struts2框架流程概述1.Struts2架构图请求首先通过Filterchain,Filter主要包括ActionContextCleanUp,它主要清理当前线程的ActionContext和Dispatcher;FilterDispatcher主要通过AcionMapper来决定需要调用哪个Action。ActionMapper取得了ActionMapping后,在Dispatcher的serviceAction方法里创建ActionProxy,ActionProxy创建ActionInvocation,然后Action

2、Invocation调用Interceptors,执行Action本身,创建Result并返回,当然,如果要在返回之前做些什么,可以实现PreResultListener。2.Struts2部分类介绍这部分从Struts2参考文档中翻译就可以了。ActionMapper       ActionMapper其实是HttpServletRequest和Action调用请求的一个映射,它屏蔽了Action对于Request等javaServlet类的依赖。Struts2中它的默认实现类是DefaultActionMapper,ActionMapper很大的用处

3、可以根据自己的需要来设计url格式,它自己也有Restful的实现,具体可以参考文档的docs/actionmapper.html。ActionProxy&ActionInvocation       Action的一个代理,由ActionProxyFactory创建,它本身不包括Action实例,默认实现DefaultActionProxy是由ActionInvocation持有Action实例。ActionProxy作用是如何取得Action,无论是本地还是远程。而ActionInvocation的作用是如何执行Action,拦截器的功能就是在Acti

4、onInvocation中实现的。ConfigurationProvider&Configuration       ConfigurationProvider就是Struts2中配置文件的解析器,Struts2中的配置文件主要是尤其实现类XmlConfigurationProvider及其子类StrutsXmlConfigurationProvider来解析。3.Struts2请求流程1、客户端发送请求2、请求先通过ActionContextCleanUp-->FilterDispatcher3、FilterDispatcher通过ActionMappe

5、r来决定这个Request需要调用哪个Action4、如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy,这儿已经转到它的Delegate--Dispatcher来执行5、ActionProxy根据ActionMapping和ConfigurationManager找到需要调用的Action类6、ActionProxy创建一个ActionInvocation的实例7、ActionInvocation调用真正的Action,当然这涉及到相关拦截器的调用8、Action执行完毕,Acti

6、onInvocation创建Result并返回,当然,如果要在返回之前做些什么,可以实现PreResultListener。添加PreResultListener可以在Interceptor中实现。Struts2源码阅读(二)_ActionContext及CleanUPFilter/***TheActionContextisthecontextinwhichan{@linkAction}isexecuted.Eachcontextisbasicallya*containerofobjectsanactionneedsforexecutionlikethes

7、ession,parameters,locale,etc.

*

*TheActionContextisthreadlocalwhichmeansthatvaluesstoredintheActionContextare*uniqueperthread.Seethe{@linkThreadLocal}classformoreinformation.Thebenefitof*thisisyoudon'tneedtoworryaboutauserspecificactioncontext,youjustgetit:*

*

    Act

    8、ionContextcontext=ActionContext.g

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。