Struts2工作原理:
1.初始化一个指向servlet容器的请求。
2.请求经过web.xml中配置的过滤器过滤,FilterDispatcher(struts2控制器的核心)询问ActionMapper是否需要调用某个Action来处理这个请求。如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求的处理交给ActionProxy。
3.ActionProxy通过配置文件Struts.xml配置文件找到需要调用的Action类。
4.ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action。但在调用之前,ActionInvocation会根据配置加载Action相关的所有Interceptor(拦截器)。
5.Action执行完毕后,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result。