数据访问接口:DAO层
处理业务逻辑:Service层
数据实体:POJO
负责前端请求的接受并处理:Servlet
负责前端页面展示:JSP
这种架构模式就是mvc设计模式,它是软件工程中的一种软件架构模式,它强制地使软件系统的输入、处理和输出分开,把软件系统分为三个基本部分:模型、视图、控制器
(1)视图:负责格式化数据并把它们呈现给用户,包括数据展示,用户交互、数据验证界面设计等功能。对应组件:jsp或者HTML文件
(2)控制器:负责接收并转发请求,对请求进行处理后指派视图并将响应结果发送给客户端。对应组件:servlet
(3)模型:模型对象拥有最多的处理任务,是应用程序的主体部分,它负责数据逻辑的处理和实现数据操作。对应组件:javabean(如超市系统一处理业务逻辑的service层,与数据库操作相关的DAO层,贯穿于各层之间的数据模型,即数实体pojo)
通过以上分析,我们发现超市订单管理系统所采用的设计模式-jsp+servlet+javabean,其中就是最经典的mvc
9.2mvc处理过程
1.mvc处理过程
(1)首先视图提供系统与用户交互的界面,并发送用户输入给控制器
(2)控制器接收用户的请求,并决定应该调用哪个模型来进行处理
(3)模型根据用户请求进行相应的业务逻辑处理,并返回处理结果
(4)控制器根据返回的处理结果,调用相应的视图格式化模型返回的数据,并通过视图呈现给用户结果。
2.mvc优缺点
优点:(1)多视图共享一个模型,大大提高代码的可重用性
(2)mvc三个模型相互独立,松耦合架构
(3)控制器提高了应用程序的灵活性和可配置性
(4)有利于软件工程化管理
总之,我们通过mvc的设计模式最终可以打造一个松耦合+高重用性+高可适用性的完美架构,当然这也是架构设计的目标之一。
缺点:(1)原理复杂
(2)增加了系统结构和实现的复杂性
(3)视图 对模型数据的低效率访问
对于mvc来说,它并不适合小型甚至中型规模的项目,花费大量时间将mvc应用到规模并不是很大的应用程序通常得不偿失,所以对于mvc设计模式的使用要根据具体的应用场景开决定
9.3spring mvc环境搭建
1.下载需要的jar文件
2.在web.xml中配置servlet
3.创建spring mvc的配置文件
4.创建controller
5.创建view
6.部署运行
7.更换handlerMapping(处理器映射)
9.4spring mvc框架的特点
通过前面的演示示例及对spring mvc体系结构的接受,现在总结下spring mvc框架的特点在接下来的学习过程,我们可以慢慢深入体会。
(1)清晰地角色划分。Spring mvc在model.vlew和controller方面提供了一个非常清晰的角色划分,这三个方面真正是各司其职、各负其责。
(2)灵活的配置功能,因为spring 的核心是loc,同样在实现mvc上,也可以把各种类当做bean来通过xml进行配置
(3)提供了大量的控制器接口和实现类,开发者可以使用spring提供的控制器来控制器实现类,也可以自己实现控制器接口
(4)真正做到view层的实现无关。它不会强制开发者使用jsp也可以根据项目需求使用velcity、xslt等技术,使用起来更加灵活
(5)国际化支持
(6)面向接口编程
(7)Spring提供了web应用开发的一整套流程,不仅仅是mvc,它们之间可以很方便的结合一起。
总之,一句话,一个好的框架要减轻开发者处理复杂问题的负担,内部要有良好的扩展,并且有一个支持它的强大的用户群体,恰恰spring mvc做到了。