。控制(Controller)部件是处理用户与软件的交互操作的,它的职责是控制提供模型中任何变化的传播,确保用户界面和模型间的对应联系;它接受用户的输入,将输入反馈给模型,从而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图对应一个控制器n羽。MVC模式不仅实现了功能模块和显示模块的分离,而且提高了应用系统的可维护性、可扩展性、可移植性,提高了组件的可复用性。模型、视图与控制器的分离,使得一个模型可以对应多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都会随这些变化而变8第二章相关技术介绍化n引。因此,无论什么时候数据发生了变化,控制器都会将变化告诉所有的视图,视图就会显示更新。这本质上是一种模型的变化一传播机制。Struts是一个实现了MVC模式的Web应用程序设计框架。Struts为Java的Web开发实现了MVC模式,它能使那些用Java应用将代码分割开来(而不是在servlet里编写HTML代码或者在JSP里写Java代码),另一方面也提高了现有代码的重用性和可维护性。随着时间的推移,在Struts中进行的开发需要开发人员编写更多的代码,方能实现必要的Web应用特性,这时提出了开发下一代Struts的计划。从架构的角度看,实现计划中所提出的特性将要做出重大修改。但Struts的开发者没有从零开始进行开发,而是寻求与其他Java开源框架进行整合。图2-2Struts体系结构图Struts框架的大概处理流程如下:1、加载类(FilterDispateher)2、读取配置(struts配置文件中的Action)3、派发请求(客户端发送请求)4、调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action)5、启用拦截器6、处理业务(回调Action的execute()方法)9