struts2的执行流程:大致分为三部分,核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts2框架的基础,包含了框架内部的控制流程和处理机制。
基本简要流程:
1.客户端发送Http请求
2.根据web.xml配置,该请求被FilterDispatcher接收
3.根据struts.xml的配置,找到需要调用的Action类和方法,并通过IoC方式,将值注入给Action。
4.Action调用业务逻辑组件(通过依赖注入的方式在excute()方法中执行)处理业务逻辑,所以一个Action只能处理一个请求。因为只有一耳光execute方法。所以会非常的麻烦,这也是为什么要使用Spring MVC的原因之一
5.Action从ActionForm中获取数据,调用javabean中的业务方法(也就是是在execute方法中使用注入的service执行操作)处理数据
6.Action返回ActionForward对象,跳转到相应JSP页面或者Action
7.返回HTTP响应到客户端浏览器