struts2 流程深入解析

struts2  流程深入解析  
   请求首先通过Filter chain,Filter主要包括ActionContextCleanUp,它主要清理当前线程的

ActionContext和Dispatcher;FilterDispatcher主要通过AcionMapper来决定需要调用哪个Action。
        ActionMapper取得了ActionMapping后,在Dispatcher的serviceAction方法里创建ActionProxy

,ActionProxy创建ActionInvocation,然后ActionInvocation调用Interceptors,执行Action本身,创

建Result并返回,当然,如果要在返回之前做些什么,可以实现PreResultListener。

Struts2部分API介绍:
ActionMapper
        ActionMapper其实是HttpServletRequest和Action调用请求的一个映射,它屏蔽了Action对于

Request等java Servlet类的依赖。Struts2中它的默认实现类是DefaultActionMapper,ActionMapper很

大的用处可以根据自己的需要来设计url格式,它自己也有Restful的实现
ActionProxy&ActionInvocation
        Action的一个代理,由ActionProxyFactory创建,它本身不包括Action实例,默认实现

DefaultActionProxy是由ActionInvocation持有Action实例。ActionProxy作用是如何取得Action,无论

是本地还是远程。而ActionInvocation的作用是如何执行Action,拦截器的功能就是在ActionInvocation

中实现的。
ConfigurationProvider&Configuration
        ConfigurationProvider就是Struts2中配置文件的解析器,Struts2中的配置文件主要是尤其实

现类XmlConfigurationProvider及其子类StrutsXmlConfigurationProvider来解析,

猜你喜欢

转载自panhe.iteye.com/blog/1059847
今日推荐