什么是 MVC ?MVC是 Model View Controller 的叫法, 是一种软件设计模式,用于开发Web应用程序。
Model:数据模型
View :用于向用户展项内容的模型
3. Controller:用于控制模型的数据之间的相互作用.上
MVC关系的图形表示
上图展示了这种关系.
从上图中我们可以看到,它将用户界面,以及真正的应用逻辑和数据模型隔离开,实现分而治之,这样做一方面利于软件开发(比喻利于将不同的任务进行分工),另一方面便于修改.当然了还有其他的很多优点.
下面具体介绍一下MVC中的M V C都是干什么用的.
Model:模型是负责管理的应用程序的数据。它响应从视图中的请求,同时也响应控制器的指令进行自我更新。比如你要建立一个图书馆管理系统,这里的通常为了方便我们要为作者和书籍等信息建立Model.比如这个作者模型里面可能包含的country,age,all books等等.书籍模型可能包含ISBN,Author,Publisher等等.
View:在一个特定格式的数据,触发控制器的决定,目前的数据的演示文稿。他们是基于脚本的模板系统,如JSP,ASP,PHP和AJAX技术很容易整合。那这个视图是怎么回事呢?我们还打比方说一个基于MVC的图书馆管理系统.你要查询某个作者的全部书籍,那么就需要输入作者的名字,并且将信息传给controller,这就是最开始视图的作用啦,然后controller返回给你该作者的所有书籍和作者的信息.这个时候视图的作用就是如何显示这些信息呢.以及如何将这些信息具有美感的传递给user.
controller:该控制器负责响应用户输入的数据模型对象进行相互作用。控制器接收输入,验证输入,然后执行业务操作,修改数据模型的状态。是真正的控制层面的逻辑.它好比一个function(函数)把一个输入经过一些列的变换得到相应的输出.当然也可能没有输入只有输出也可能只有输出没有输入,这些都根据具体的需要.比如按照之前举例子说明的MVC图书馆信息管理系统),输入作者的名字后,controller去查找我的图书馆数据库把作者的数据和书籍信息全部找出来.这些就是输出,反馈给View.这就是简单的controller的理解.
Struts2是一个基于MVC的框架。它提供给我们这个基本的框架以及丰富的标签库让我们使用,方便我们进行web程序开发.