MVC全名(Model View Controller),就是模型(Model),视图(View),控制器(Controller)的缩写。
Model(模型)是应用程序中用于处理应用程序的数据逻辑的部分,一个模型能为多个视图提供数据。通常模型对象负责在数据库中进行数据的存储。
View(视图)是应用程序中负责处理数据显示的部分。视图向用户显示相关的数据并接受用户的输入,但它并不进行业务逻辑处理。通常视图是以及模型数据来创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。
最典型的MVC就是JSP+servlet+javabean模式:
JSP作为View层;
Servlet作为controller层;
javaBean作为Model层。
当我们要实现一个登录功能时,我们首先看到的是一个JSP页面,即View视图。当我们把要填的信息都填上,点击提交按钮向某个servlet提交请求,servlet就会进行调用相应的javabean来处理。
Servlet这时候可以看作controller。Javabean会从数据库中查找是否该用户。这时javabean可以看作model。最后由javabean返回结果给servlet,让servlet调用相应的JSP页面。
MVC三个模块相当于独立,改变任何一个不会影响其它两个从而实现的程序的松耦合。比如说:修改视图的样式不会影响到模型和控制器。
多个视图可以共享同一个模型,所以大大提高了Web应用程序的重用性。