首页>>后端>>Spring->springmvc执行流程图(springmvc执行流程图解)

springmvc执行流程图(springmvc执行流程图解)

时间:2023-12-02 本站 点击:0

spring mvc工作流程图

spring工作的流程

1 用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载springmvc.xml配置文件。

2 前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping完成url到controller映射的组件,简单来说,就是将在springmvc.xml中配置的或者注解的url与对应的处理类找到并进行存储,用mapurl,handler这样的方式来存储。

3 HandlerMapping有了映射关系,并且找到url对应的处理器,HandlerMapping就会将其处理器(Handler)返回,在返回前,会加上很多拦截器。

4 DispatcherServlet拿到Handler后,找到HandlerAdapter(处理器适配器),通过它来访问处理器,并执行处理器。

5 执行处理器

6 处理器会返回一个ModelAndView对象给HandlerAdapter

7 通过HandlerAdapter将ModelAndView对象返回给前端控制器(DispatcherServlet)

8 前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(jsp),其实就是将ModelAndView对象中存放视图的名称进行查找,找到对应的页面形成视图对象

9 返回视图对象到前端控制器。

10 视图渲染,就是将ModelAndView对象中的数据放到request域中,用来让页面加载数据的。

11 通过第8步,通过名称找到了对应的页面,通过第10步,request域中有了所需要的数据,那么就能够进行视图渲染了。最后将其返回即可。

————————————————

原文链接:

spring mvc 的工作流程是什么

spring mvc 的工作流程:

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进行渲染视图(即将模型数据填充至视图中)。

11、DispatcherServlet响应用户。

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。

SpringMVC是一种web层的mvc框架,用于替代servlet(处理响应请求,获取表单参数,表单验证等)。

MVC即Model-View-Controller,将应用按照Model(模型)、View(视图)、Controller(控制)这样的方式分离。

视图(View):代表用户交互界面,对于Web应用来说,可以是HTML,也可能是jsp、XML和Applet等。

一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。

模型(Model):是业务的处理以及业务规则的制定。模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计是MVC最主要的核心。

MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,抽象与具体不能隔得太远,也不能太近。

MVC并没有提供模型的设计方法,而只是组织管理这些模型,以便于模型的重构和提高重用性。

控制(Controller):可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。

划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。

springmvc工作流程

springmvc工作流程:

1、 用户向服务端发送一次请求,这个请求会先到前端控制器DispatcherServlet(也叫中央控制器)。

2、DispatcherServlet接收到请求后会调用HandlerMapping处理器映射器。由此得知,该请求该由哪个Controller来处理(并未调用Controller,只是得知)。

3、DispatcherServlet调用HandlerAdapter处理器适配器,告诉处理器适配器应该要去执行哪个Controller。

4、HandlerAdapter处理器适配器去执行Controller并得到ModelAndView(数据和视图),并层层返回给DispatcherServlet。

5、DispatcherServlet将ModelAndView交给ViewReslover视图解析器解析,然后返回真正的视图。

6、DispatcherServlet将模型数据填充到视图中。

7、DispatcherServlet将结果响应给用户。

组件说明:

DispatcherServlet:前端控制器,也称为中央控制器,它是整个请求响应的控制中心,组件的调用由它统一调度。

HandlerMapping:处理器映射器,它根据用户访问的 URL 映射到对应的后端处理器 Handler。也就是说它知道处理用户请求的后端处理器,但是它并不执行后端处理器,而是将处理器告诉给中央处理器。

HandlerAdapter:处理器适配器,它调用后端处理器中的方法,返回逻辑视图 ModelAndView 对象。

ViewResolver:视图解析器,将 ModelAndView 逻辑视图解析为具体的视图(如 JSP)。

Handler:后端处理器,对用户具体请求进行处理,也就是我们编写的 Controller 类。

什么是springmvc

SpringMvc是spring的一个模块 基于MVC的一个框架 无需中间整合层来整合

什么是MVC ?mvc在b/s下的应用:

首先请求发送request请求到C(control 接收用户请求响应用户) 然后控制器到M模型(pojo、action、service、dao)层处理 处理结果完了返回控制器 控制器要经过视图渲染  最后返回终端(response)

在b/s系统下模型无法将数据直接填充到视图 还是要返回控制器

MVC是一个设计模式 是开发程序的一种解决方案

前端控制器 DispatcherServlet

处理执行链HandlerExcutionChian

处理器映射器 HandlerMapping

处理器适配器 HandlerAdapter 去执行Handler

前端控制器 DispatcherServlet 请求执行Handler 处理完  返回 ModelAndView (模型和视图的结合体) 前端控制器接收到ModelAndView后请求视图解析器 返回view 前端控制器将视图进行渲染

SpringMvc整个的执行流程:

1、发起请求到前端控制器(DispatcherServlet )

2、前端控制器请求HandlerMapping查找Handler(可以根据xml、注解进行查找)

3、处理器映射器HandlerMapping向前端控制器DispatcherServlet 返回Handler

4、前端控制器DispatcherServlet 调用处理器适配器HandlerAdapter 执行Handler

5、处理器适配器HandlerAdapter 执行Handler

6、Handler执行完给处理器适配器返回ModelAndView

7、处理器适配器向前端控制器返回ModelAndView (ModelAndView 是SpringMvc的底层对象 包括model和view)

8、前端控制器请求视图解析器去解析视图

根据逻辑视图名解析成真正的视图(jsp)

9、视图解析器向前端控制器返回view

10、前端控制器进行视图渲染

视图渲染将模型数据(模型数据在ModelAndView对象中)填充到request域

11、前端控制器向用户响应结果

组件:

1、前端控制器 DispatcherServlet(不需要程序员开发)

作用:接收请求、响应结果 相当于转发器

有了DispatcherServlet 就减少了其它组件之间的耦合度

2、处理器映射器HandlerMapping(不需要程序员开发)

作用:根据请求的URL来查找Handler

3、处理器适配器HandlerAdapter

作用:按照特定的规则(HandlerAdapter要求的规则)去执行Handler

注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler

4、处理器Handler(需要程序员开发)

5、视图解析器 View Resolver(不需要程序员开发)

作用:进行视图的解析 根据视图逻辑名解析成真正的视图(view)

6、视图View(需要程序员开发jsp)

View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf。。。)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Spring/9945.html