一个请求在Struts2框架中的处理大概分为以下几个步骤: 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的过程前后,涉及到相关拦截器(Intercepter)的调用。 8) 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。 Struts2的核心就是拦截器。Struts.xml中所有的package都要extends="struts-default"。同理与所有的Java类都要extends自Object一样。struts-default.xml里面就是要做以上事情。
本文转自arac 51CTO博客,原文链接:http://blog.51cto.com/skyarac/1358824,如需转载请自行联系原作者