1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求
2 这个请求经过一系列的过滤器(Filter)
3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action
4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。
5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类。
6 ActionProxy创建一个ActionInvocation实例
7 ActionInvocation使用命名模式来调用,回调Action的execute()方法,该execute()方法先获取客户请求参数,然后它调用业务逻辑组件来处理客户请求。在调用Action的过程前后,涉及到相关拦截器(Interceptor)的调用。
8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果,返回结果通常用是一个需要被表示的JSP或者FreeMaker在模板。