struts2的工作流程,阐述struts2的执行流程
Struts2框架中的请求处理大致可以分为以下几个步骤:
1客户端向Servlet容器发起请求;
2该请求经过一系列过滤器(其中一个过滤器是名为ActionContextCleanUp的可选过滤器,它有助于Struts2和其他框架的集成,如SiteMeshPlugin)
然后调用FilterDispatcher,FilterDispatcher让ActionMapper决定是否需要调用一个动作。
4如果ActionMapper决定需要调用一个操作,FilterDispatcher将处理对ActionProxy的请求。
5ActionProxy通过ConfigurationManager查询框架的配置文件,找到需要调用的Action类。
6ActionProxy创建ActionInvoke的实例。
7 ActionInvoke实例由命名模式调用。调用动作的过程前后,涉及到相关拦截器的调用。
8动作一旦执行,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果,结果通常(但不总是,可能是另一个动作链)是需要表示的JSP或FreeMarker的模板。在表示过程中,可以使用Struts2框架中的继承标记。ActionMapper需要参与此过程。