SpringMVC的工作流程

一、 SpringMVC的相关组件

1. DispatcherServlet

前端控制器(中央控制器),是整个请求响应的控制中心,统一调度其他组件,处理用户的请求

2. HandlerMapping

处理器映射器,根据请求的url等信息来查找具体的Handler,将改Handler实例返回前端控制器

3. HandlerAdapter

处理器适配器,根据Handler实例信息,按照特定的规则去执行相关的Handler

4. ViewResolver

视图解析器,负责将逻辑视图解析成具体的视图

5. Handler、HandlerMapping、HandlerAdapter的区别

Handler 是用来干活的工具;
HandlerMapping 用于根据需要干的活找到相应的工具;
HandlerAdapter 是使用工具干活的人。

二、 整体工作流程

绘图2.png

  1. DispatcherServlet 接收到客户端发送的请求。判断是普通请求,上传文件的请求。
  2. DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。
  3. HandleMapping 根据请求 URI 找到对应的控制器以及拦截器,组装成 HandlerExecutionChain 读写。将此对象返回给 DispatcherServlet,做下一步处理。
  4. DispatcherServlet 调用 HanderAdapter 处理器适配器。这里是适配器设计模式,进行接口转换,将对一个接口调用转换为其他方法。
  5. HandlerAdapter 根据执行控制器方法,也就是开发人员写的 Controller 类中的方法,并返回一个 ModeAndView
  6. HandlerAdapter 返回 ModeAndView 给 DispatcherServlet
  7. DispatcherServlet 调用 ViewResolver 视图解析器来 来解析 ModeAndView
  8. ViewResolver 解析 ModeAndView 并返回真正的 View 给 DispatcherServlet
  9. DispatcherServlet 将得到的视图进行渲染,填充 Model 中数据到 request 域
  10. 返回给客户端响应结果

注:
如果有异常,会在第6步后,DispatcherServlet 调用 HandlerExceptionResolver 处理异常,有异常返回包含异常的 ModelAndView,然后继续第7步的处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,关于springmvc工作流程,我可以为您解答。Spring MVC的工作流程主要包括以下几个步骤:首先,用户发送请求到前端控制器DispatcherServlet;其次,DispatcherServlet将请求映射到对应的处理器HandlerMapping;接着,HandlerMapping将请求和处理器的适配器Adapter进行绑定;然后,适配器Adapter将请求和处理器进行绑定;处理器执行业务逻辑并返回一个ModelAndView对象给适配器Adapter;适配器Adapter将ModelAndView返回给DispatcherServlet;最后,DispatcherServlet将ModelAndView发送给ViewResolver进行视图解析,最后再返回给用户响应结果。希望能对您有所帮助。 ### 回答2: Spring MVC是一个基于MVC(Model-View-Controller)架构的Web框架。其工作流程如下: 1. 客户端发送请求到DispatcherServlet(中央控制器)。DispatcherServlet是所有请求的入口,它负责协调整个请求处理过程。 2. DispatcherServlet 根据请求的URL映射,将请求分发给对应的处理器(Controller)。处理器根据请求中的参数进行处理,并返回一个ModelAndView对象。 3. DispatcherServlet将返回的ModelAndView对象交给视图解析器(View Resolver)进行视图解析,确定最终要返回的视图。 4. 视图解析器解析完视图后,通过View对象来渲染返回的结果。View对象可以是JSP、HTML、JSON等多种形式。 5. 渲染完结果后,视图将结果返回给DispatcherServlet。 6. DispatcherServlet将视图返回给客户端,完成响应过程。 Spring MVC的工作流程简洁高效,通过DispatcherServlet的分发和控制,实现了请求的处理和响应的流程控制。同时,Spring MVC还提供了灵活的配置和扩展机制,可以方便地定制整个框架的行为和业务逻辑。这使得Spring MVC成为了广泛应用的Web开发框架之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值