MVC发展历程及思想

两种web应用程序的开发模式:

  1. model 1: JSP + JavaBean
    JSP负责 : ① 页面显示 ②页面跳转 ③调用Javabean处理数据(处理请求)
    JavaBean负责: ①数据封装保存②数据处理逻辑
    适用场景: model 1 方式适合开发业务逻辑不太复杂的web应用程序(因为 业务逻辑复杂,控制代码较多,在JSP中编写控制代码, 十分不便),这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,有显示数据.

为了解决Model 1 中JSP不擅长处理请求的操作,在model 2 中引用了Servlet,专门用于处理请求。

  1. model 2: JSP + JavaBean + Servlet(此模式采用责任分离思想)
    JSP负责: 页面显示
    JavaBean负责: 数据封装 处理
    Servlet负责: 控制整个程序的处理流程,调用JavaBean进行数据处理, 调用JSP完成页面显示. 在model 2 中, 以Servlet为中心(所有的请求都先发送到Servlet)
    适用场景: model 2 方式适合开发复杂的webt应用,在这种模式下,servlet负责处理用户请求(控制器, 连接模型和视图, 对整个业务流程进行控制, 调用JavaBean封装处理数据, 调用JSP显示页面)

补充: 什么是JavaBean?(JavaBean可以被重复使用)
①是一个Java类
②有一个无参构造器
③所有的成员变量都私有化(被private关键词修饰)
④所有的属性都有public修饰的get, set方法被外界访问.

MVC

mvc模式最早应用于C/S架构中,在J2ee中被广泛应用.
责任分离思想:
	M: Model ,数据模型对象(JavaBean)
		数据模型(Model): 负责封装应用的状态,并实现应用的功能. 通常又分为数据模型和业务逻辑模型, 数据模型用来存放业务数据, 比如订单信息, 用户信息等; 而业务逻辑模型包含应用的业务操作, 比如订单的添加或者修改等.
	V: View , 视图界面(JSP,  html, freemark)
		视图展示(View): 界面, 用来将模型的内容展现给用户, 用户可以通过视图来请求模型进行更新. 视图从模型获得要展示的数据, 然后用自己的方式展示给用户, 相当于提供界面来与用户进行人机交互; 用户在界面上操作或者填写完成后, 会点击提交按钮或者是以其他触发事件的方式, 来想控制器发出请求.
	C: Controller, 控制器(Servlet)
		用来控制应用程序的流程和处理视图所发出的请求. 当控制器接收到用户的请求后, 会将用户的数据和模型的更新相映射, 也就是调用模型来实现用户的请求的功能; 然后控制器会选择用于响应的视图, 把模型更新后的数据展示给用户. 
model2 属于MVC的一部分.

引入三层架构

表示层/表现层: 位与最外层(最上层), 最接近用户. 用于显示数据和接收用户输入的数据, 为用户提供一种交互操作的界面.
业务逻辑层: 表示层和数据库访问层(持久层)之间的桥梁. 实现业务逻辑. 业务逻辑包含: 验证, 计算, 业务规则等.
数据库访问层/持久层: 与数据库交互, 主要实现对数据库的增, 删, 改, 查. 将存储在数据库中的数据提交给业务层, 同时将业务层处理的数据保存到数据库中.
MVC发展历程及思想_第1张图片

三层之间的关系:

MVC发展历程及思想_第2张图片

你可能感兴趣的:(java基础,spring,java)