Spring MVC体系结构

MVC设计模式
数据访问接口: DAO层。
处理业务逻辑: Service层。
数据实体: POJO。
负费前端请求的接受并处理: Servlet
负责前端页面展示:JSP

这种架构模式就是MVC模式,它是软件工程中的一种软件架构模式。它强制性地使软件系统的输入、处理和输出分开,把软件系统分为三个基本部分:模型(Model)、视图(View)、控制器(Controller)。

(1)视图(View): 负责格式化数据并把它们呈现给用户,包括数据展示,用户交互数据验正界面设计等功能。对应组件: JSP 或者HTML文件(如超市系统JSP 页面)。

(2)控制器(Contoller): 负责接收并转发请求,对请求进行处理后指派视图并将响应结果发给客户端。对应组件: Servlet (如超市系统-Servlet)。

(3)模型(Model): 模型对象拥有最多的处理任务,是应用程序的主体部分,它负责数报联(业务规则)的处理和实现数据操作(即在数据库中存取数据)。对应组件JavaBen (如超市系处理业务逻辑的Sevice层与数据库操作相关的DAO层,贯穿于各层之间的数据模型即数彭影体POJO)。

JSP Model1
当业务流程较为简单的时候,可以把控制器的功能交给视图来实现,这种模式称为JSP Model1。故Model1模式只有视图和模型,没有控制器 (即JSP+JavaBean)。

其中Model1在一定程度上实现了MVC.即JSP将控制层和视图层合二为一. JavaBean 为模型层,其中JSP身兼多职,既要负责视图层的数据展示,又要负责业务流程的控制,结构较为混乱,并且也不是我们我们所希望的松耦合架构模式,所以当业务流程复杂的时候并不推荐使用。

JSP Model2
相比于JSP Medel1,当业务流程复杂的时候,就需要把业务流程控制文给控制器来实现,JSP专注于视图的展现即可。这种模式就是JSP Model2(即JSP+Servlet+JavaBean)

这样的结构清晰,效果明显优化很多,并且也是一个松耦合的架构模式,所以除非项目非常简单,一般情况下建议使用JSP Model2。

MVC处理过程
(1)首先视图提供系统与用户交互的界面,并发送用户输入给控制器。

(2)控制器接收用户的请求,并决定应该调用哪个模型来进行处理。

(3)模型根据用户请求进行相应的业务逻辑处理,并返回处理结果(数据)。

(4)控制器根据返回的处理结果,调用相应的视图格式化模型返回的数据,并通过视图呈现给用户结果。

MVC优缺点
(1) 优点
多视图共享一个模型, 大大提高代码的可重用性
MVC三个模块相互独立,松耦合架构。
控制器提高了应用程序的灵活性和可配置性。
有利于软件工程化管理。

(2) 缺点
原理复杂。
增加了系统结构和实现的复杂性。
视图对模型数据的低效率访问。

Spring MVC介绍及其环境搭建

Spring MVC 介绍
有了以上MVC设计模式的基础,我们就更容易接受Sping MVC框架了。Spring MVC是Sping框架中用于Web应用开发的一个模块,是Spring提供的一个基于MVC设计模式的优秀Web开发框架,它本质上相当于Servlet。在MVC设计模式中,Spring MVC作为控制器(Controller) 来建立模型与视图的数据交互,是结构最清晰的MVC Model2实现,可称为一个典型的MVC框架。

Spring MVC 框架采用松耦合可插拔的组件结构,具有高度可配置性,比起其他MVC 框架更具扩展性和灵活性。此外,Spring MVC的注解驱动和对REST风格的支持,也是它最具特色的功能。无论是在框架设计,还是扩展性、灵活性等方面都已经全面超越了Struts2等MVC框架,并且它本身就是Spring框架的一部分,与Spring框架整合可以说是无缝集成,性能方面具有天生的优越性,对于开发者来说,开发效率也高于其他的Web框架,在企业中的应用越来越广泛,成为主流的MVC框架。

Spring MVC 环境搭建
创建Web项目后,使用Spring MVC框架的步骤如下:
(1) 引入jar文件
(2) Spring MVC配置
在web.xml中配置Servlet,定义DisPatcherServlet
创建Spring MVC的配置文件
(3) 创建Controller (处理请求的控制器)
(4) 创建View
(5) 部署运行

1、下载需要的jar文件
在这里插入图片描述
2、在web.xml中配置Servlet
Spring MVC是基于Servlet的,DispatcherServlet是整个Spring MVC框架的核心,它负责截获请求并将其分派给相应的处理器处理。

<!-- 配置Spring MVC的核心控制器 DispatcherServlet-->
  <!-- The front controller of this Spring Web application, responsible for handling all application requests -->
	<servlet
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值