mvc模式的工作原理(简述mvc工作原理)

pringMVC的工作原理图: SpringMVC流程 1、用户发送请求至前端控制器DispatcherServlet。 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、Dispatche…

pringMVC的运行电路原理图:

详解SpringMVC工作原理

SpringMVC步骤

1、 用户推送请求至前面控制板DispatcherServlet。

2、 DispatcherServlet接到请求启用HandlerMapping处理器映射器。

3、 处理器映射器寻找详细的处理器(可以依据xml配备、注释开展搜索),转化成处理器目标及处理器回调函数(如果有则转化成)一并回到给DispatcherServlet。

4、 DispatcherServlet启用HandlerAdapter处理器电源适配器。

5、 HandlerAdapter通过兼容启用实际的处理器(Controller,也叫后面控制板)。

6、 Controller实行进行回到ModelAndView。

7、 HandlerAdapter将controller实行結果ModelAndView回到给DispatcherServlet。

8、 DispatcherServlet将ModelAndView发送给ViewReslover视图在线解析。

9、 ViewReslover分析后回到实际View。

10、DispatcherServlet依据View开展3D渲染视图(将要实体模型数据信息添充至视图中)。

11、 DispatcherServlet回应用户。

组件表明:

下列组件通常应用架构给予完成:

DispatcherServlet:做为前面控制板,全部步骤操纵的核心,操纵其他组件实行,统一生产调度,减少组件中间的耦合度,提升每一个组件的扩展性。

HandlerMapping:根据拓展处理器映射器完成不一样的投射方法,例如:环境变量方法,完成接口标准,注释方法等。

HandlAdapter:根据拓展处理器电源适配器,适用大量种类的处理器。

ViewResolver:根据拓展视图在线解析,适用大量种类的视图分析,例如:jsp、freemarker、pdf、excel等。

组件:

1、前面控制板DispatcherServlet(不用技术工程师开发设计),由架构给予

功效:接受请求,回应結果,等同于发送器,中间处理器。拥有dispatcherServlet降低了其他组件中间的耦合性。

用户请求抵达前面控制板,它就等同于mvc模式中的c,dispatcherServlet是全部步骤操纵的核心,由它启用其他组件解决用户的请求,dispatcherServlet的出现减少了组件中间的耦合度。

2、处理器映射器HandlerMapping(不用技术工程师开发设计),由架构给予

功效:依据请求的url搜索Handler

HandlerMapping承担依据用户请求寻找Handler即处理器,springmvc给予了不一样的映射器完成不一样的投射方法,例如:环境变量方法,完成接口标准,注释方法等。

3、处理器电源适配器HandlerAdapter

功效:依照特殊标准(HandlerAdapter规定的标准)去实行Handler

根据HandlerAdapter对处理器开展实行,这也是适配器模式的运用,根据拓展电源适配器可以对大量种类的处理器开展实行。

4、处理器Handler(必须技术工程师开发设计)

留意:撰写Handler时依照HandlerAdapter的标准去做,那样电源适配器才可以去恰当实行Handler

Handler 是继DispatcherServlet前面控制板的后面控制板,在DispatcherServlet的操纵下Handler对实际的用户请求开展解决。

因为Handler牵涉到实际的用户业务流程请求,因此一般状况必须技术人员依据项目要求开发设计Handler。

5、视图在线解析View resolver(不用技术工程师开发设计),由架构给予

功效:开展视图分析,依据逻辑性视图名分析成真真正正的视图(view)

View Resolver承担将处置结果转化成View视图,View Resolver最先依据逻辑性视图名分析成物理学视图名即实际的网页页面详细地址,再转化成View视图目标,最终对View开展3D渲染将处理意见根据网页页面展现给用户。 springmvc架构给予了许多的View视图种类,包含:jstlView、freemarkerView、pdfView等。

一般情形下必须根据网页页面标识或网页页面模板技术性将实体模型数据信息根据网页页面展现给用户,必须由技术工程师依据项目要求开发设计实际的网页页面。

6、视图View(必须技术工程师开发设计jsp…)

View是一个插口,完成类适用不一样的View种类(jsp、freemarker、pdf…)

关键构架的实际步骤流程如下所示:

1、最先用户推送请求——>DispatcherServlet,前面控制板接到请求后自已不做好解决,反而是授权委托给别的的在线解析开展解决,做为统一浏览点,开展全局性的过程操纵;

2、DispatcherServlet——>HandlerMapping, HandlerMapping 可能把请求投射为HandlerExecutionChain 目标(包括一个Handler 处理器(网页页面控制板)目标、好几个HandlerInterceptor 回调函数)目标,根据这类策略模式,非常容易加上新的投射对策;

3、DispatcherServlet——>HandlerAdapter,HandlerAdapter 可能把处理器包裝为电源适配器,进而适用各种类型的处理器,即电源适配器程序设计模式的运用,进而非常容易适用许多种类的处理器;

4、HandlerAdapter——>处理器作用解决办法的启用,HandlerAdapter 可能依据兼容的結果启用真真正正的处理器的作用解决方式,进行作用解决;并回到一个ModelAndView 目标(包括实体模型数据信息、逻辑性视图名);

5、ModelAndView的逻辑视图名——> ViewResolver, ViewResolver 将把逻辑性视图名分析为详细的View,根据这类策略模式,非常容易拆换别的视图技术性;

6、View——>3D渲染,View会依据传进去的Model实体模型数据信息开展3D渲染,这里的Model具体是一个Map算法设计,因而非常容易适用别的视图技术性;

7、回到决策权给DispatcherServlet,由DispatcherServlet回到回应给用户,到此一个步骤完毕。

下面2个组件一般来说必须开发设计:

Handler:处理器,即后面控制板用controller表明。

View:视图,即展现给用户的页面,视图中通常必须标识语言表达展现实体模型数据信息。

在将SpringMVC以前大家先来说一下什么叫MVC方式

MVC:MVC是一种程序设计模式

MVC的电路原理图:

详解SpringMVC工作原理

剖析:

M-Model 实体模型(进行领域模型:有javaBean组成,service dao entity)

V-View 视图(做页面的展现 jsp,html……)

C-Controller 控制板(接受请求—>启用实体模型—>依据結果发放网页页面)

springMVC是啥:

springMVC是一个MVC的开源框架,springMVC=struts2 spring,springMVC就等于是Struts2再加上sring的融合,可是这儿有一个困惑便是,springMVC和spring是什么样的关联呢?这一在百科上有一个不错的表述:意思是说,springMVC是spring的一个后面商品,实际上便是spring在原来基本上,又给予了web应用的MVC控制模块,可以简便的把springMVC了解为是spring的一个控制模块(相近AOP,IOC那样的控制模块),互联网上常常要说springMVC和spring无缝拼接集成化,实际上springMVC便是spring的一个子控制模块,因此压根不用同spring开展融合。

SpringMVC的电路原理图:

详解SpringMVC工作原理

见到这一图我们很有可能有许多的困惑,如今大家来说一下这一图的流程:(可以比照MVC的电路原理图开展了解)

第一步:用户进行请求到前面控制板(DispatcherServlet)

第二步:前面控制板请求处理器映射器(HandlerMappering)去搜索处理器(Handle):根据xml配备或是注释开展搜索

第三步:寻找之后处理器映射器(HandlerMappering)像前面控制板回到实行链(HandlerExecutionChain)

第四步:前面控制板(DispatcherServlet)启用处理器电源适配器(HandlerAdapter)去实行处理器(Handler)

第五步:处理器电源适配器去实行Handler

第六步:Handler执行完给处理器电源适配器回到ModelAndView

第七步:处理器电源适配器向前面控制板回到ModelAndView

第八步:前面控制板请求视图在线解析(ViewResolver)去开展视图分析

第九步:视图在线解析像前面控制板回到View

第十步:前面控制板对视图开展3D渲染

第十一步:前面控制板向用户回应結果

见到这种流程我坚信大伙儿很觉得十分的乱,这也是常规的,可是这儿主要是要大伙儿了解springMVC中的好多个组件:

前面控制板(DispatcherServlet):接收要求,回应結果,等同于计算机的CPU。

处理器映射器(HandlerMapping):依据URL去搜索处理器

处理器(Handler):(必须程序猿去敲代码解决逻辑性的)

处理器适配器(HandlerAdapter):会把处理器包裝成适配器,那样就可以适用各种类型的处理器,对比笔记本电脑的适配器(适配器方式的运用)

视图解析器(ViewResovler):开展视图解析,多回到的字符串数组,开展解决,可以解析成相应的网页页面

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月7日 下午1:18
下一篇 2022年5月7日 下午1:20

相关推荐

  • 关于thinkpad介绍,thinkpad适合什么人用

    本文由什么值得买用户原创:一只小萌熊 创作立场声明:本文不涉及任何机型的评测,仅仅是谈谈关于X系列的发展现状,欢迎指正文章中的错误,此外,文末有YOGA折叠屏的演示视频。 前段时间,我在值得买上发了篇关于 ThinkPadX390LTE版的文章,其中提到了X系列首次采用13寸屏幕的机型X300以及它的衍生机型 X301,后者曾是轻薄全内置笔记本的代表作之一,本文我们就来看看X系列从IBM时代到Le…

    2022年5月28日
    1260
  • 现在什么网络平台好赚钱,网络10个稳定赚钱项目推荐

    相信许多人都是想要在网上做兼职赚钱的,但是大部分人奈何不了解这个行业,所以面对网上的那些项目完全不知道应该如何选择,要知道网上的这些项目有许多都是坑,网赚新手一不注意就会掉进坑里,最后一分钱也没赚到还被坑了不少钱的人也是大有人在的! 网络发达各种网上赚钱项目自然也就多了,在铺天盖地的项目中,如何选择适合自己的同时也是正规的网上兼职赚钱项目呢,这对于新手来说是一个很重要的问题。 互联网应该都知道,互…

    2022年8月30日
    370
  • 网络营销体系架构有哪些,教你如何构建一个完整的网络营销体系

    今天我们来聊聊网络营销体系的组织架构,一个比较大的问题,这问题看起来挺复杂,其实如果想明白了,也挺简单,我的理解基本是两个词:层级、分工。 层级是结构、分工是细节。层级一般有集团、片区或产品线、城市、分公司,分工这里我们主要探讨推广部、客服部、销售部,接下来我们以不同规模的公司情况进行设计,欢迎大家一起来探讨。 一、没有分公司 这种情况最简单,网络部、客服部、销售部,各司其职,有个总负责人就可以了…

    2022年5月20日
    1090
  • 互联网广告分类标准,十种常见的网络广告类型

    各位涉足网络创业的同志们,如果连网络广告的基本形式都不懂,以后还怎么混迹互联网?今天,笔者来为各位网络创业的同志整理一下网络广告的主要类型及其特征。 (上图为网络疯传的天然气广告) (1)网幅广告(又称旗帜广告Banner) 最常见的网络广告形式。网幅广告既可以用来通过广告画面或广告语向受众传递某种信息,又可以借助点击来引导受众与广告主进行进一步接触。网幅广告一般以Gif、Jpg等图像格式,放置在…

    2022年8月28日
    680
  • 微信更新后聊天记录怎么恢复,具体步骤请看本篇详解

    今天微信又更新了苹果手机的6.6.1版本,而我们想要找回微信聊天记录该怎么办呢?相信大多数人都会选择recover恢复微信聊天记录吧,因为这个方法可以直接在微信内进行恢复,下面我们就来看看具体的恢复步骤吧。 我们首先在微信界面点击右上角的小人图标,然后点击添加好友的按钮,接下来在搜索框里输入:recover,然后就会弹出恢复框了。 recover指令并非所有的微信版本都可用,如果你的微信不能使用这…

    2022年7月3日
    870
  • 小鸟耳机是什么档次(深度拆解测评小鸟耳机)

    近几年手机厂商都是逐渐取消了3.5mm耳机插口,开始时候大家都是使用转接口,但是随着苹果AirPods的出现,蓝牙耳机成了大家的新选择,市场上各种蓝牙耳机也是如春笋般出现。Libratone小鸟音响作为来自丹麦的知名音频设备品牌,国内外口碑都不错,今年一月份,Libratone小鸟音响正式发布了旗下真无线耳机系列——TRACKAir+降噪耳机及TRACKAir无线耳机。近日小狐也是拿到了这款耳机,…

    2022年9月6日
    1.1K0
  • 互联网房产销售行业怎么样,带你了解互联网房地产的营销模式

    ——房地产电商营销:传统营销方式的延伸 中国的房地产市场在调整,中国的房地产企业也在寻求转型,向互联网学习成为众多房企的口号。不少互联网房地产创新模式被视为房地产新的突破口,但是这些看起来很美好的概念中却蕴含着种种问题和风险。 我把目前比较热门的互联网房地产模式分为三种:以搜房、乐居等为代表的房地产电商营销、彩生活倡导的社区电商平台、万达等商业地产开发商对运营环节进行电商平台试水。我们以这三种模式…

    2022年7月18日
    990
  • 王者荣耀名师点怎么刷,王者荣耀名师点规则

    王者荣耀名师等级分为6级,每个等级都可以领取一份奖励,名师等级最高6级需要13000名师点。那么名师点怎么刷呢?名师点到13000需要多少徒弟?怎么刷名师点快?小编马上给大家分享一下方法,希望可以帮助到玩家。 王者荣耀2月新英雄上线,【下载游戏】体验新英雄并领取新英雄礼包,还有情人节皮肤孙悟空至尊宝、体验服白名单申请时间等等,想了解更多游戏资讯的玩家还可以直接查看。 王者荣耀名师点怎么刷? 徒弟要…

    2022年7月25日
    610
  • 打开设备管理器的命令,教你一分钟学会最简单

    有时候我们经常会羡慕一些电脑高手能够熟练的使用键盘的快捷键与各种命令·,从容的玩转电脑。其实,大家不必不羡慕,你只要学会了以下10个快捷键和运行的命令,同样你也能成为小白心目中的高手。 下面给大家介绍下这10个实用的运行命令。 使用命令操作的最基本是先需要如何打开运行操作框,主要有2种方法: 最快捷方法:使用Windows+R组合快捷键,快速呼出命令操作窗口。常用方法:点击开始菜单选择运行即可。 …

    2022年9月21日
    720
  • 个人小程序怎么发布,个人小程序发布流程

    一.前期准备 1.注册小程序 商家需要在微信公众平台官网首页(https://mp.weixin.qq.com/)点击右上角的“立即注册”按钮,注册一个微信小程序帐号。 2.完善小程序信息 注册小程序后,登录小程序后台首页,点击【填写】完善小程序信息,如名称、图标、描述等; 3.微信支付(无需线上支付功能跳过该章节) 3.1申请微信支付 如您使用商城类等涉及线上支付小程序,需申请主体认证,通过后即…

    2022年7月21日
    800

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信