我们最初将一个简单编程项目放在一个主函数中就可以完成,按部就班,面向过程,实现功能。

直到业务量越来越庞大,需求量越来越多,处理逻辑越来越复杂,我们开始着手面向对象的编程。

当一个编程任务有了一个比较复杂的运算逻辑和较为庞大的任务量,那么就可以很好的体现人类分工合作的优势——使用分层架构。

在JavaWeb工程中,我们使用了不同java开发模式。

JavaWeb开发模式1

主要采用JSP+JavaBean

特点:

JSP负责接受用户请求,处理请求逻辑,显示数据
JavaBean传输数据,负责业务逻辑
将页面与业务分开
适用于一些小的应用,减小代码的层数,提高效率
没有复杂业务逻辑的业务时,请求给JSP,JSP调用JavaBean的方法完成业务逻辑

JavaWeb开发模式2

主要采用JSP+Servlet+JavaBean

特点:

JSP显示数据
Servlet负责接受用户请求,处理请求逻辑,委托模型处理业务逻辑
JavaBean传输数据,负责业务逻辑
同样适用于一些小的应用
请求给控制器Servlet,调用JavaBean的方法完成业务逻辑,数据传输,JavaBean将结果先返给控制器Servlet,再将数据交给JSP显示(或JavaBean将数据交给JSP显示)

目的:在开发过程中层次分明

符合MVC模式:  JavaBean——模型(M)
         JSP——显示(V)
         Servlet——控制(C)

MVC架构

1.本身是一种架构模式
2.不引入任何功能
3.帮助开发变得更合理,使展示和模型分离,逻辑控制、业务逻辑分开
4.Model
模型,提供要展示的数据,处理业务逻辑
5.View
视图,负责进行模型数据的展示
6.Controller
控制器,接受用户请求,委托模型进行处理,处理完毕后将数据交给视图进行展示
7.MVC局限性
在处理复杂业务时javabean将变得十分庞大,故需要将MVC与三层架构结合起来

JavaWebMVC

M模型,JavaBean
V显示,JSP
C控制,Servlet
WebMVC和标准MVC架构是一个概念
与标准MVC区别:WebMVC模型没法直接将数据推送给视图

正确理解javabean

在三层架构中,javabean称为域模型
在MVC中,M代表的javabean称为javabean组件
MVC+三层架构:
当MVC作为表示层,结合在三层架构中,M代表的javabean组件消失,此时M指代域模型javabean,而域模型javabean仍然存在,仍作为数据传递的角色存在