Structs 框架发展历程
2008-04-06 10:32
375 查看
JSP Model1
JSP Model2(MVC)
Structs框架:
Struts 概览
Client browser(客户浏览器)
来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP 响应作出响应。
Controller(控制器)
控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而言,控制器是以 servlet 实现的一个命令设计模式。
struts-config.xml文件配置控制器。
业务逻辑
业务逻辑更新模型的状态,并帮助控制应用程序的流程。就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的
Action类完成的。
Model(模型)的状态
模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm bean 在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。
View(视图)
视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息 -- 只有标记。标记是使 Struts 有别于其他框架(如 Velocity)的因素之一。
Structs和mvc框架的映射:
提示:模块是在Struts 1.1中新提出的概念,在稍后的内容中我们将详细介绍,你现在可以简单地把模块看作是一个子系统,它们共同组成整个应用,同时又各自独立。Struts 1.1中所有的处理都是在特定模块环境中进行的。模块的提出主要是为了解决Struts 1.0中单配置文件的问题。
控制器接收HTTP请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面。否则控制器将请求分发至具体Action类进行处理。
在控制器调用具体Action的execute方法之前,ActionForm对象将利用HTTP请求中的参数来填充自己(可选步骤,需要在配置文件中指定)。具体的ActionForm对象应该是ActionForm的子类对象,它其实就是一个JavaBean。此外,还可以在ActionForm类中调用validate方法来检查请求参数的合法性,并且可以返回一个包含所有错误信息的ActionErrors对象。如果执行成功,ActionForm自动将这些参数信息以JavaBean(一般称之为form bean)的方式保存在Servlet Context中,这样它们就可以被其它Action对象或者JSP调用。
Struts将这些ActionForm的配置信息都放在FormBeanConfig集合中,通过它们Struts能够知道针对某个客户请求是否需要创建相应的ActionForm实例。
Action很简单,一般只包含一个execute方法,它负责执行相应的业务逻辑,如果需要,它也进行相应的数据检查。执行完成之后,返回一个ActionForward对象,控制器通过该ActionForward对象来进行转发工作。我们主张将获取数据和执行业务逻辑的功能放到具体的JavaBean当中,而Action只负责完成与控制有关的功能。遵循该原则,所以在上图中我将Action对象归为控制器部分。
客户端从发出请求到获得响应整个过程的图解说明:
参考: http://www-128.ibm.com/developerworks/cn/java/l-struts1-1/ http://www-128.ibm.com/developerworks/cn/java/j-struts/index.html
相关文章推荐
- IFC标准是为了满足建筑行业的信息交互与共享而产生的统一数据标准,是建 筑行业事实上的数据交换与共享标准。本文概要介绍了IFC标准的产生及发展 历程,IFC的整体框架结构,简要说明了IFC标准的实现方法和过程,描述了 当前的应用以及我们应该更加积极地利用IFC标准为建筑软件行业服务。
- SimpleFramework框架的起因及发展历程
- 淘宝(taobao)架构发展历程及Web框架设计
- Jla框架介绍(一) 导言和发展历程
- 淘宝(taobao)架构发展历程及Web框架设计
- JX8NET 小游戏网 java web框架发展,大致经历以下几个
- C#发展历程以及C#6.0新特性
- 豆瓣网技术架构的发展历程 视频下载
- C#与C++的发展历程第四 - C#6的新时代
- Structs/Hibernate/Sping三大框架
- 什么是RSS?RSS及其发展历程
- MyEclipse撤销已部署的Structs框架
- BPEL 及其发展历程
- 什么是RSS以及RSS的历史及发展历程
- Visual basic发展历程...
- 淘宝历程一--淘宝技术发展(个人网站)
- DirectX 发展历程
- 从FC到Wii 24年来游戏机CPU发展历程回顾
- 第二讲 算法思想的发展历程
- 分布式服务框架 发展过程