为何需要MVC?
最早期的javaweb开发:Servlet==java+"html",问题:在Servlet中拼接字符串太麻烦
后来出现Jsp:==Html+Java在Html中嵌套java代码, 问题:页面和逻辑太过于混杂
最终导致:MVC的诞生!
MVC是一种架构型的模式,本身不引入新的功能,就是指导我们把web应用结构做好
特点:与功能无关
目标:实现逻辑与页面相分离
MVC模式:Model、View、Control 即:模型、视图、控制器
1:模型:包含应用程序的 业务逻辑 和 业务数据
2:视图:包含应用程序的输出形式,即:页面或界面
3:控制器:负责协调模型和视图;
根据用户请求来选择要调用哪个模型来处理业务
以及最终哪个视图为用户做出应答!
MVC中的模型和视图是分离的、解耦的,同一个模型可以对应多种不同的视图
具体功能:
Model:
封装应用状态 --------->数据封装
响应状态查询 ---------->获取数据
暴露应用的功能 ----------->逻辑层API
View:
提供HTML form用于用户请求 ------->人机交互
请求模型的更新 ------->触发事件
产生HTML响应 ------->展示数据
Controller:
接收并验证HTTP请求的数据 -------->收集数据并封装数据
将用户数据与模型的更新相映射-------->调用逻辑层API
选择用于响应的视图 --------->根据返回值选择下一个页面
纯Jsp应用
无MVC的时候,系统结构图如下:
这种结构不太好,在jsp页面写的代码太多,尤其是控制代码,业务和逻辑
太过混杂,因此需要引入一个中间层----控制器来专门处理控制代码
标准的MVC组建关系图如下: