传智播客学习之Struts 工作原理
2010-02-07 22:52
302 查看
这几天一直忙着做OA这个系统,这也是年前最后一个项目了,不过这次上课的汤老师十分的不错,思路非常清晰,他在讲每一个知识点的时候,都会有图解,让我们对项目的整个流程掌握的十分清晰,同时在今天的项目中,我们综合了struts,hibernate,jquery等多个框架,让我勾起了对struts的深深回忆,所以今天和大家一起分享一下struts1的工作原理。
通过struts的学习,我觉得struts主要分为一下八步:
以上主要是一个简要图,下面我详细说明一下每一步:
1.读取配置(启动时读取配置文件,初始化ModuleConfig对象)http请求给web服务器,然后如果是.do的请求,从web.xml中配置成自启动(load-on-start)Servlet,读取配置文件struts-config.xml,为不同的struts模块初始化相应的moduleconfig对象,比如下面的初始化
(ActionConfig controlconfig(控制器初始化),FromBeanConfig(初始化),ForwardConfig初始化,MessageResourceConfig初始化
2.发送请求
用户提交表单或者url向web应用程序器提交一个请求,请求的数据用Http协议上传给Web服务器
3.填充Form(实例化,复位,填充数据,校验,保存)
*.do请求从ActionConfig中找出相应该请求的Action子类,如没有对应的Action,控制器直接转发给Jsp或者静态页面,如有对应的action且这个Action有一个相应的ActionFrom,
ActionFrom被实例化并用Http请求的数据填充其属性,并且保存在servletContext中(或request session中),这样就可以被其他Action对象或者jsp调用
上面的时候ActionServlet从请求中获得数据并填充Formbean
4.派发请求:(去见后端控制器Action,实际就是他的execute方法)控制器根据配置信息ActionConfig(根据已经读取进内存中的封装了配置信息的对象(ActionConfig),action标签的path和type属性)将请求派发到具体到Action,相应的formBean一并传给这个Action的excute方法
5.处理业务
Action一般只包含一个execute方法,它负责执行相应的业务逻辑(调用其他业务模块),完毕后返回一个ActionForward对象,控制器通过该ActionForward对象进行转发工作
6.返回响应
Action根据业务处理的不同结果返回一个目标响应对象给总控制器,该目标响应对象(实际是一个关键字,然后去参考配置文件,找到真正跳转目标,转发)对应一个具体的jsp页面或者另一个Action
7.查找响应
总控制器根据业务功能Action返回的目标相应对象,找到对应的资源对象,通常是一个具体的jsp页面。
8.响应用户,目标相应对象将结果展现给用户目标响应对象将结果页面展现给用户
通过struts的学习,我觉得struts主要分为一下八步:
以上主要是一个简要图,下面我详细说明一下每一步:
1.读取配置(启动时读取配置文件,初始化ModuleConfig对象)http请求给web服务器,然后如果是.do的请求,从web.xml中配置成自启动(load-on-start)Servlet,读取配置文件struts-config.xml,为不同的struts模块初始化相应的moduleconfig对象,比如下面的初始化
(ActionConfig controlconfig(控制器初始化),FromBeanConfig(初始化),ForwardConfig初始化,MessageResourceConfig初始化
2.发送请求
用户提交表单或者url向web应用程序器提交一个请求,请求的数据用Http协议上传给Web服务器
3.填充Form(实例化,复位,填充数据,校验,保存)
*.do请求从ActionConfig中找出相应该请求的Action子类,如没有对应的Action,控制器直接转发给Jsp或者静态页面,如有对应的action且这个Action有一个相应的ActionFrom,
ActionFrom被实例化并用Http请求的数据填充其属性,并且保存在servletContext中(或request session中),这样就可以被其他Action对象或者jsp调用
上面的时候ActionServlet从请求中获得数据并填充Formbean
4.派发请求:(去见后端控制器Action,实际就是他的execute方法)控制器根据配置信息ActionConfig(根据已经读取进内存中的封装了配置信息的对象(ActionConfig),action标签的path和type属性)将请求派发到具体到Action,相应的formBean一并传给这个Action的excute方法
5.处理业务
Action一般只包含一个execute方法,它负责执行相应的业务逻辑(调用其他业务模块),完毕后返回一个ActionForward对象,控制器通过该ActionForward对象进行转发工作
6.返回响应
Action根据业务处理的不同结果返回一个目标响应对象给总控制器,该目标响应对象(实际是一个关键字,然后去参考配置文件,找到真正跳转目标,转发)对应一个具体的jsp页面或者另一个Action
7.查找响应
总控制器根据业务功能Action返回的目标相应对象,找到对应的资源对象,通常是一个具体的jsp页面。
8.响应用户,目标相应对象将结果展现给用户目标响应对象将结果页面展现给用户
相关文章推荐
- 传智播客struts学习,struts的基本工作原理及开发步骤
- 传智播客struts学习,Struts的概念和体系结构
- 传智播客struts2学习笔记(一) struts2的初步认识及第一个struts应用
- 传智播客学习之Struts基础
- 传智播客---struts学习1
- 传智播客struts学习,strust标签和formbean的原理及作用
- 传智播客学习之Struts标签库-HTML标签
- 传智播客学习之Struts标签库-HTML标签
- 传智播客学习之面试知识点总结struts
- Struts逐步学习(2)-工作原理解析
- 传智播客---struts学习2
- Struts 2 的学习笔记(二) struts的配置流程和strut是2的工作原理
- 传智播客 struts1.x 工作原理与流程
- 传智播客struts学习,formbean属性的整数与日期类型
- 传智播客oa学习,配置struts+ hibernate + jbpm
- Struts1.3.10学习笔记——工作原理
- Struts国际化学习笔记
- 传智播客java web 学习,Servlet事件监听器
- Tomcat学习1_Tomcat 系统架构与设计模式,第 1 部分: 工作原理
- 传智播客IOS 4期学习总结