1、客户端发送一个指向Servlet容器(例如Tomcat)的请求
2、这个请求经过一系列的过滤器(Filter)
3、接着FilterDispatcher被调用,将request中所携带的数据放入值栈(ValueStack);
4、 FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action,把请求的处理交给ActionProxy;
5、 ActionProxy通过Configuration Manager询问框架的配置文件(struts.xml),找到调用的Action类;
6、 ActionProxy创建一个ActionInvocation的实例;
7、 ActionInvocation在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用;
8、 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果(JSP显示结果)。
简答版:
1、struts2是一个web层的mvc框架 该框架是在struts1和webwork两个框架的基础上产生的。
2、Struts2的工作原理,由 一个过滤器来处理指定的请求(如:以xxx.action结尾的请求)
3、该请求将经过一系列的拦截器,将请求中的信息放在ValueStack中
4、然后根据struts.xml将请求交给指定的Action中的响应方法请求处理
5、处理完毕后通常返回String类型值(Ajax不需要)
6、根据struts.xml中action中的result标签 配置进行跳转