Struts2源码阅读(六)_ActionProxy&ActionInvocation

来源:互联网 发布:魔兽装备数据库 编辑:程序博客网 时间:2024/05/07 10:14

下面开始讲一下主菜ActionProxy了.在这之前最好先去了解一下动态Proxy的基本知识.
ActionProxy是Action的一个代理类,也就是说Action的调用是通过ActionProxy实现的,其实就是调用了ActionProxy.execute()方法,而该方法又调用了ActionInvocation.invoke()方法。归根到底,最后调用的是DefaultActionInvocation.invokeAction()方法。
DefaultActionInvocation()->init()->createAction()。
最后通过调用ActionProxy.exute()-->ActionInvocation.invoke()-->Intercepter.intercept()-->ActionInvocation.invokeActionOnly()-->invokeAction()
这里的步骤是先由ActionProxyFactory创建ActionInvocation和ActionProxy.

 下面先看DefaultActionInvocation的init方法

action执行完了,还要根据ResultConfig返回到view,也就是在invoke方法中调用executeResult方法。

最后看一张在网上看到的一个调用流程图作为参考:

Come From:http://qidaoxp.javaeye.com/blog/503015

原创粉丝点击