struts2的执行流程总结

在启动的的时候初始化StrutsPrepareAndExecuteFilter,也就是调用init方法初始化struts2的各种配置文件。将这些信息封装到Configuration中以及ConfigurationManager还有dispatcher中.然后封装到PrepareOperations,ExecuteOperations中。

然后每次请求的时候进行拦截,先从PrepareOperations中寻找ActionMapping(根据请求的uri和配置文件<constant name="struts.action.extension" value="do,action,"></constant>该项进行匹配如果没有以value的值结尾也就是找不到ActionMapping就为null就直接放行).没有找到直接放行.
找到了然后继续执行,生成ActionProxy。同时初始化ActionInvocation。首先调用ActionProxy的execute()方法.然后委托给ActionInvocation调用invoke方法。然后就是先执行各种过滤器,然后利用反射调用真正的方法。
最后从ActionConfig中取出Result对象。同执行结果进行比对,跳转到配置的结果页面。

猜你喜欢

转载自chen-sai-201607223902.iteye.com/blog/2371368