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

相关推荐

  • 适合创业的项目有哪些,2020最赚钱的行业大盘点

    如今创业成为时下比较热门的话题,无论是职场精英,还是普通百姓,都希望通过自主创业实现财务自由。很多人都有创业想法,但却没有一个好的项目,其实在我们日常生活中并不缺乏那些很有前景的小生意,只不过常常被人忽略了而已。 今天小编总结出几个低成本的小项目,现在看来可能比较冷门,但是这片市场如若打开了,将来还是能挣不少钱。 一、乡村婚礼策划 众所周知,婚姻是人生中一件非常重要的事情。每对新婚夫妻都希望自己的…

    2022年7月11日
    640
  • 淘宝图片处理软件哪个好(淘宝宝贝图片制作方法)

    宝贝详情页是对商品内容进行描述的页面,商家会通过图文结合的方式为消费者呈现商品卖点和特点,那么若出现淘宝手机端图片有间隙,淘宝pc端详情页图片有间隙怎么解决?学得起课堂就详细的为大家回答这个问题。 1、pc端描述:(1)宝贝描述页面中有空隙属于正常情况,主要用于图片分割和承接上下的作用。 (2)商家可进入到宝贝描述编辑页面找到源代码,“style=”text-align:center”,并将它进行…

    2022年5月13日
    860
  • 如何做好活动网络推广,活动所用到的渠道及操作的方法介绍

    随着互联网的疯狂发展,信息透明化程度加深,大学生消费群体作为社会经济的活跃消费力量,是未来消费市场的中坚力量,逐渐被国人所熟悉。 五月是临近毕业季的月份,是校园活动大量举办的月份,也是企业争相抢夺的“黄金市场”。 大学生接触面广,信息接收快,校园活动频发的时候更容易造成现场人数少、学生漠不关心的情况。那么如何在五月抓住大学生的心,做好前期的活动宣传至关重要。 联合学校社团、后勤、生活部等官方微博宣…

    2022年5月20日
    710
  • 双千兆路由器推荐,最值得买的五款千兆无线路由器

    随着互联网的不断普及,无线网络已经深入到了方方面面,无论是生活娱乐、还是工作学习,都,都离不开无线网络。而为了自己上网更加快捷方便,很多家庭都会入手路由器。但每个家庭的户型大小不一样,使用需求也不一样,如何选择到一款合适的路由器成为了困扰很多用户的难题。今天,就给大家推荐几款超实用的家用路由器,帮你解决你的选择困难症。 名称:华硕子母路由器 推荐人群:大户型家庭 推荐理由:子母路由器,专为大户型设…

    2022年9月16日
    1380
  • 新零售如何创业,新零售行业创业项目汇总

    新零售,即企业以互联网为依托,通过运用大数据、人工智能等先进技术手段并运用心理学知识,对商品的生产、流通与销售过程进行升级改造,进而重塑业态结构与生态圈,并对线上服务、线下体验以及现代物流进行深度融合的零售新模式。 2016年10月的阿里云栖大会上,阿里巴巴马云在演讲中第一次提出了新零售,新零售在2018年被炒的火热,又有业内诸多大佬纷纷布局,导致很多创业者对于这样一个创业风口都是心痒难耐。 新零…

    2022年5月21日
    730
  • 如何把百家号和百度问答知道关联起来,获得收益

    昨天,追风在朋友圈分享了追风的百家号已经和百家问答连通起来。事后,很多朋友留言问有没有开通的教程或者诀窍,透露一下。今天追风就在这里谈谈,如何开通的话。 其实,这个功能追风在去年就陆陆续续听说了,只不过那时候是认为是为了和企业号连通。对于,追风这种个人号帮助不大。但是,前段时间已经发现它陆陆续续和个人号打通了。并且追风,在昨天也有幸成为了个人号的其中之一。昨晚,追风用了另外一个账号去申请,早上就收…

    2022年7月30日
    1650
  • 怎么打开电脑蓝牙,教你一个最简单的方法

    蓝牙到目前为止仍然是十分流行的数据传输方式,因为蓝牙不需要连接宽带,也不消耗流量,还能实现无线连接。想要使用蓝牙,就要先开启蓝牙。而现在基本上所有的笔记本都自带蓝牙功能,那么笔记本电脑如何开启蓝牙呢?下面,小编就来跟大伙探讨一下开启笔记本蓝牙的方法。 怎么开启笔记本蓝牙,以Win7系统为例: win7系统蓝牙是开机自动启动的,右击任务栏右边的"蓝牙"图标。 蓝牙系统软件图解1 右击蓝牙图标,然后在…

    2022年10月3日
    1030
  • 网站建设学什么专业(新手做网站需要懂什么)

    我是一个新站长,虽然我年纪不算小了,但是接触网站也不过短短半年时间,虽然我现在也不是什么高手,但是也想谈一下自己建站的心得。 1、域名和空间。现在域名已经是一种无形资产了,新手想注册个好域名是很难的,所以我建议新手先随便用一个普通的域名试试手,不过这个普通也不是随便的意思,对于baidu来说,一般用拼音或者拼音缩写比较好。空间嘛,当然选快的了。这里我就不再推荐了,我觉得寻找一个域名和好的空间不会超…

    2022年6月2日
    640
  • 可以投稿的网站有哪些,十大新手投稿公众号推荐

    现在越来越多的人看小说,也越来越多的人尝试写小说,当然不是每个人都能成功的,想要把写小说当成吃饭的工具,我们还要了解一下怎么使用这个工具才能让你吃饱饭。 接下来我们来分析一下以下几个投稿网站,希望能对你们有所帮助。 投稿内容不限于小说。 以下排名不分先后 晋江文学城 晋江文学城是著名的女性文学网站,以耽美、爱情等原创网络小说而著名。 3万字可自行申请签约,写得好的,编辑会私信你。 适合长篇言情、耽…

    2022年7月24日
    770
  • 反物质是什么,世界上真的有这种东西存在吗

    什么是反物质?如果物质和反物质相互作用会发生什么?反物质是如何发现的?为什么我们在日常生活中不经常遇到反物质呢?当你想到反物质的时候,所有这些问题以及更多的问题都会浮现在你的脑海中。但是,首先要做的事!让我们首先定义并理解什么是反物质。 从字面上讲,反物质与物质是相反的。对于每一个亚原子粒子,如电子、质子、中子等,都存在着反电子、反质子、反中子等反粒子。反粒子的质量与粒子相同,但其电荷和其他量子数…

    2022年9月13日
    1140

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信