struts1.0框架总结
一.框架概述
框架(Framework):一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。
以上对框架的定义来自于百度百科对框架的定义。其实说的通俗一点框架是从现实问题中抽象出来解决实际问题的一种方案。
在国内java比较流行的框架有Struts ,Spring, Hibernate,JSF。下面就Struts框架来做下总结。
二.Struts框架的组成
1.众所周知的Struts和Spring设计所用的设计模式都是MVC,即模型,视图,控制器模式。Struts中的控制器模块主要是配置文件struts-config.xml来支配的。视图是由jsp来分开表现逻辑和程序逻辑。模型主要是由javabean组成,这些bean分为三类:ActionForm,Action,javabean或EJB。ActionForm通常称为FormBean,封装了来自于Client的请求信息,如表单信息。Action通常称为ActionBean,获取从ActionServlet传来的FormBean,取出并处理FormBean中的相关信息,一般调用javabean或者EJB.Struts的核心是ActionServlet,ActionServlet的核心是struts-config.xml。
三.Struts的核心执行流程
1.在WEB应用启动的时加并初始化ActionServlet,他从struts-config.xml中读取配置信息,把他们存放在各自的配置对象中。(注意:ActionServlet不是开发人员建立的,而是Struts框架内部自有的由框架去调用。)
2.当用户对服务器发出请求时,检索和用户请求相匹配的ActionMapping实例,如果不存在,就返回用户请求的路径无效信息。
3.如ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的信息保存进ActionForm对象中。
4.根据配置信息决定是否需要表单验证,如果需要验证,就调用ActionForm的Validate()方法。
5.如果ActionForm的Validate()方法返回NULL或返回一个不包含的ActionMessage的ActionErrors对象,就表示表单验证成功。
6.ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果Action对象不存在,那么创建这个实例然后调用他的execute()方法。
7.Action的execute()方法返回一个ActionForword对象,ActionServlet再把客户请求转给ActionForword对象指向的jsp组件。
8.Jsp组件动态生成网页返回给客户端。
四.Struts的工作原理
1.读取配置(初始化ModuleConfig对象)对应着Struts执行流程的第一步。
2.用户请求。
3.填充FormBean。
4.转发请求。
5.处理业务。
6.返回响应。
7.查找响应。
8.响应用户。
框架体现的是一种编程思想,实现他的是语言,语言和思想构建了整个java世界的灵魂。(一切如是。)所以我们不必过多的纠结在框架上面,加油!哈哈