步骤:
1. 读取配置(初始化ModuleConfig对象)
Struts框架总控制器(ActionServlet)是一个Servlet,在Web.xml中配置成自动启动Servlet。读取配置文件(struts-config.xml)的配置信息,为不同的Struts模块初始化ModuleConfig对象:ActionConfig、ControlConfig、FormBeanConfig、ForwardConfig等。
2. 发送请求
用表单或者URL向Web应用程序提交一个请求,请求的数据用HTTP协议上传给Web服务器
3. 填充Form(实例化、复位、填充数据、校验、保存)
(*.do请求)从ActionConfig中找出对应该请求的Action子类,如果没有Action,控制器直接转发给JSP或者静态页面。如果对应的Action且这个Action有一个相应的Action Form,ActionForm被实例化并用HTTP请求的数据填空其属性,并且保持到ServletContext中。
控制器根据配置文件请求具体的Action,相应的Form一起传递个Action的execut方法。
5. 处理业务
Action包含了一个execute方法,它负责执行相应的逻辑。完毕后返回一个ActionForward对象进行跳转。
6. 返回响应
Action根据业务处理的不同结果返回一个对象给总控制器,该目标响应对象对应一个具体的JSP页面或者另一个Action。
7. 查找响应
8. 响应用户
目标响应对象将结果展示各用户看。
1. 读取配置(初始化ModuleConfig对象)
Struts框架总控制器(ActionServlet)是一个Servlet,在Web.xml中配置成自动启动Servlet。读取配置文件(struts-config.xml)的配置信息,为不同的Struts模块初始化ModuleConfig对象:ActionConfig、ControlConfig、FormBeanConfig、ForwardConfig等。
2. 发送请求
用表单或者URL向Web应用程序提交一个请求,请求的数据用HTTP协议上传给Web服务器
3. 填充Form(实例化、复位、填充数据、校验、保存)
(*.do请求)从ActionConfig中找出对应该请求的Action子类,如果没有Action,控制器直接转发给JSP或者静态页面。如果对应的Action且这个Action有一个相应的Action Form,ActionForm被实例化并用HTTP请求的数据填空其属性,并且保持到ServletContext中。
4. 派发请求
控制器根据配置文件请求具体的Action,相应的Form一起传递个Action的execut方法。
5. 处理业务
Action包含了一个execute方法,它负责执行相应的逻辑。完毕后返回一个ActionForward对象进行跳转。
6. 返回响应
Action根据业务处理的不同结果返回一个对象给总控制器,该目标响应对象对应一个具体的JSP页面或者另一个Action。
7. 查找响应
总控制器根据Action返回的结果,从配置文件中找到响应的调整页面,通常是一个JSP页面。
8. 响应用户
目标响应对象将结果展示各用户看。