SpringMVC

mvc设计模式

什么是设计模式

设计模式(Design Pattern)是一套反复使用,多数人知晓的,经过分类的,代码设计经验的总结。
使用设计模式的目的:为了提高代码的可重用性,让代码更容易被他人理解,保证代码可靠性。
设计模式使代码编写真正工程化;
设计模式是软件工程的基石脉络,如同大厦的结构一样。
设计模式就是一种模子,经过多年实践锤炼形成一套行之有效的完成某个特定任务的步骤和方式。

MVC设计模式

MVC设计模式是一种通用的软件编程思想。
在MVC设计模式中认为,任何软件都可以分为三部分组成;
(1)控制程序流转的控制器(Controller)
(2)封装数据处理数据的模型(Model)
(3)负责展示数据的视图(view)
并且在MVC设计思想中要求一个符合MVC设计思想的软件应该保证上面这三个部分相互独立,互不干扰,每一个部分只负责自己擅长的部分。
如果某一个模块发生变化,应该尽量做到不影响其他两个模块,这样做的好处是使软件的结构变得更加的清晰,可读性强,有利于后期的卡扩展和维护,并且代码可以实现复用。
在这里插入图片描述

初始SpringMVC

Servlet的缺点

1.通常情况下,一个Servlet类只负责处理一个请求,若项目中有成千上万个请求需要处理,就需要成千上万个Servlet类,这样会使得项目中的Servlet类的个数暴增;
2.在Servlet3.0版本之前,每一个Servlet都需要在web.xml文件中至少做八行配置信息,配置内容多且繁琐。当Servlet特别多时,web.xml配置量太多,不利于团队开发;
3.当通过客户端提交参数到服务器,通过Servlet进行接收时,无论数据本身是什么格式,在Seevlet中一律按照字符串接收,后期需要进行类型转换,复杂类型还需要特殊处理,特别麻烦!

String value = request.getParameter(String name);

4.Servlet具有容器依赖性,必须放在服务器中运行,不利于单元测试。

SpringMVC简介

SpringMVC是Spring框架的一个模块,Spring和SpringMVC无需中间整合层整合
SpringMVC是一个基于MVC的web框架

Spring执行原理

在这里插入图片描述
(1)用户发送请求到前端控制器(DIspatcherServlet);
DispatcherServlet的作用:接收请求,调用其他组件处理要求,相应结果,相当于转发器,中央处理器,是整个流程控制的中心。
(2)前端控制器(DispatcherServlet)收到请求后调用处理器映射器(HandlerMapping)找到具体的Controller(可以根据xml配置,注解进行查找),并将Controller返回给DispatcherServlet。
(3)前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)。处理器适配器经过适配调用具体的Controller(Controller–>service–>Dao–>数据库),Controller执行完成后返回ModelAndView。
Model(模型数据,即Controller处理的结果,Map) View(逻辑视图名,及负责展示结果的JSP页面的名字)。
处理器适配器(HandlerAdapter)将controller执行的结果(ModelAndView)返回给前端控制器(DispatcherServlet)。
(4)前端控制器(DispatcherServlet)将执行的结果(ModelAndView)传给视图解析器(ViewReslover)。
视图解析器(ViewReslover)根据View(逻辑视图名)解析后返回具体的JSP页面
(5)前端控制器(DispatcherServlet)根据Model对View进行渲染(即将模型数据填充到视图中)。
前端控制器(DispatcherServlet)将填充了数据的页面响应给用户。
整个过程中需要开发人员编写的部分有Controller,Service,Dao,View

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值