MVC(Model View Controller 模型-视图-控制器)是一种典型的软件设计思想,用于应用程序的分层开发。
- Model(模型)模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
- View(视图)视图代表模型包含的数据的可视化。
- Controller控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。
当用户发起一个请求后,统一由控制层来接收并分发,委托模型层进行数据处理;在获取到模型层处理的返回结果后,控制层将数据交由视图层进行解析渲染,最后展现在用户面前的就是可读性极高的视图界面。
假设用户发起了一个查询学生信息的请求,控制层在接受到请求后,将请求分发至对应的模型层来处理数据,此处就需要通过DAO层获取相关的学生信息;数据获取/处理完成后,返回至控制器层,此处的控制器层的数据还是数据对象,还需要通过html或者相关的模板引擎来解析渲染,最后展现在用户面前的就是其需要的学生信息啦。
控制器层类似于中央处理器,负责application所有请求的相关调度,处理数据,解析渲染,有条不紊。
mvc模式在一定程度上使得程序开发解耦,修改jsp则只需要修改视图层,修改dao则只需要修改相关的模型层。