0%

2.1 MVC思想概述 2.1.1 传统Model1和 Model2

2.1 MVC思想概述

2.1.1 传统Model1和 Model2

Java Web应用的结构经历了Model1Model2两个时代,从Model1发展到Model2既是技术发展的必然,也是无数程序员的心血结晶。
Model1模式下,整个Web应用几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请求处理后直接做岀响应。用少量的JavaBean来处理数据库连接、数据库访问等操作。
Model1模式的实现比较简单,适用于快速开发小规模项目。但从工程化的角度看它的局限性非常明显:JSP页面身兼ViewController两种角色,将控制逻辑和表现逻辑混杂在一起,从而导致代码的重用性非常低,增加了应用的扩展和维护的难度.
早期由大量JSP页面所开发出来的Web应用,大都采用了Model1架构。实际上,早期绝大部分ASP应用也属于这种Model1架构。
Model2是基于MVC架构的设计模式。在Model2架构中,

  • Servlet作为前端控制器,负责接收客户端发送的请求。在Servlet中只包含控制逻辑和简单的前端处理;
  • 然后,调用后端JavaBean来完成实际的逻辑处理;
  • 最后,将其转发到相应的JSP页面来处理显示逻辑。

其具体的实现方式如图2.1所示。
这里有一张图片
正如在图2.1中看到的,Model2下的JSP不再承担控制器的责任,它仅仅是表现层角色,仅仅用于将结果呈现给用户。JSP页面的请求与Servlet(控制器)交互,而Servlet负责与后台的JavaBean通信。在Model2模式下,

  • 模型(Model)由JavaBean充当,
  • 视图(View)由JSP页面充当,
  • 而控制器( Controller)则由Servlet充当。

由于引入了MVC模式,使得Model2具有组件化的特点,从而更适用于大规模应用的开发,但也增加了应用开发的复杂程度。原本需要一个简单的JSP页面就能实现的应用,在Model2中被分解成多个协同工作的部分,程序员需要花更多时间才能真正掌握其设计和实现过程。
Model2MVC设计思想下的架构。下面简要介绍MVC设计思想的优势。
提示:对于非常小型的Web站点,如果后期的更新、维护工作不是特别多,则可以使用Model1模式来开发应用,而不是Model2模式。虽然Model2提供了更好的可扩展性及可维护性,但其增加了前期开发成本。从某种程度上讲,Model2为了降低系统后期维护的复杂度,而导致前期开发的高复杂度

原文链接: 2.1 MVC思想概述 2.1.1 传统Model1和 Model2