2.1MVC思想概述
2.1.1传统的Model1和Model2
model1:整个web应用几乎全部都是用JSP页面组成。JSP页面接收和处理客户端请求,对请求做出响应,用 少量的javaBean来处理数据库连接、数据库访问等操作。jsp身兼View和Controller两种角色,将控 制逻辑和表现逻辑混杂在一起,导致代码的重用性特别低。增加了应用廓镇和维护的难度。
model2:基于MVC架构的设计模式。在Model2架构中,Servlet作为前端控制器,负责接收客户端发送的请 求。在Servlet中只包含控制逻辑和简单的前端处理。然后调用后端JavaBean来完成实际逻辑梳 理,最后转发到JSP页面来显示。如图:
从下图可以看出:Model2下jsp不再承担控制器的责任,它妗妗是表现层的角色,仅仅用于将结果 呈现给用户,JSP页面的请求与Servlet(控制器)交互,而Servlet负责与后台的JavaBean通信,在 Model2模式下,模型(Model)由JavaBean充当,视图(View)由JSP页面充当 而控制器由 (controller)由Servlet充当
Mvc思想是将应用分成三个基本部分:Model(模型)、View(视图)和Controller(控制器)。
MVC有如下特点:1、多个视图可以对应一个模型,可以减少代码的复制以及代码的维护量。这样一旦模型 发生 改变也易于维护
2、模型返回的数据与显示逻辑分离。模型数据可以应用任何显示技术。
3、应用被分为三层,降低了各层之间的耦合,提供了应用的可扩展性。
4、控制层的概念也很有效,由于它吧不同的模型和各种不同的视图组合在一起,完成不同的 请求,因此控制层可以说包含了用户请求权限的概念
5、MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征。
springMVC框架提供了一个DispatcherServlet作用前端控制器开分派请求,同时提供灵活的配置处理程序映射、视图解析、语言环境和主题解析,并支持文件上传。SpringMvc还包含多种视图技术,例如Java Server Pages(JSP),Velocity、Tiles、iText和POI等。
SpringMVC的特点:
1、强大的灵活性、非侵入性和可配置性
2、提供了一个前端控制器DispatcherServlet,开发者无须额外开发控制器对象
3、分工明确,包括控制器,验证器,命令对象,模型对象,处理程序映射视图解析器。等等
4、自动绑定用户输入,并正确转换数据类型。自动解析字符串,并将其设置为模型的int和float类型的属性