zoukankan      html  css  js  c++  java
  • 面试题-简单介绍 Spring MVC 执行流程或者Spring MVC的工作原理

    摘要 简单介绍一下当用户在客户端发起请求后,Spring MVC 的执行流程,提升自己对Spring框架的认知层次。一言以蔽之,解答【Spring MVC的工作原理是什么】,这是一个热点面试题。

      Spring Web 框架是围绕前端控制器DispatcherServlet设计的,DispatcherServlet是servlet接口的一个实现类,主要用于接收客户端符合要求的请求并将服务端处理结果发送至客户端。

      简述Spring MVC的工作内容:

    • 服务端接收用户请求;
    • 指定应用程序实现客户需求;
    • 将应用程序处理的结果渲染成视图;
    • 客户端响应用户请求(回传渲染后的视图)。

    执行流程

      Spring MVC执行流程:

    1、前端控制器捕获用户请求。用户向服务器发送请求,请求被 Spring 前端控制器DispatcherServlet 捕获。

    2、查找Handler。 DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据此URI调用处理器映射器HandlerMapping获得该Handler配置的所有相关的对象(包括 Handler对象以及Handler对象对应的拦截器),最后以 HandlerExecutionChain对象的形式返回。

      HandlerMapping是撮合URI和Method的红娘,在Spring MVC体系结构中有着举足轻重的地位,充当着配置URI和Controller中Method之间映射关系的角色。一个URI和一个可执行的Method通常是一一映射的关系。

    3、Controller执行完成并返回 ModelAndView 对象。DispatcherServlet根据获得的 Handler,匹配一个合适的处理器适配器HandlerAdapter。HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。Controller执行完成后,向 DispatcherServlet 返回一个 ModelAndView 对象。

    4、选择视图解析器。DispatcherServlet 根据返回的 ModelAndView,选择一个适合的视图解析器 ViewResolver(必须是已经注册到 Spring 容器中的 ViewResolver) 。

    5、通过视图解析器渲染并返回视图。通过 ViewResolver 结合 Model 和 View 渲染视图(即将模型数据Model填充至视图中),DispatcherServlet 将渲染结果传递给客户端。其中的View是视图名称,用于在视图解析器中查找视图。

      客户端得到响应,视图可能是一个普通的HTML页面,也可以是XML或JSON字符串,还可以是一张图片或者一个PDF文件。

    小结

      以上就是Spring MVC 的工作流程,欢迎点赞阅读,一同学习交流;若有疑问,请在文章下方留下你的神评妙论!

    Reference


      读后有收获,小礼物走一走,请作者喝咖啡。

    赞赏支持

  • 相关阅读:
    【卷影副本】文件属性“以前的版本”中无法看到历史文件的解决方案
    合理的网间结算和互联网转接服务,电信敢正视吗?
    FTP无法连接可能是安全狗设置的原因
    播放器播放视频画面均变暗(但网页视频正常)的解决方案
    安装国际版firefox(火狐浏览器)并设置语言为中文
    navicat for mysql注册码:NAVN-LNXG-XHHX-5NOO
    "COM Surrogate 已停止工作"解决方案(windows7 64位及32位)
    IIS7 http自动跳转到https(通过编辑Web.config实现)
    sql 时间处理
    制作时间戳和时间戳转标准日期时间等
  • 原文地址:https://www.cnblogs.com/east7/p/14409793.html
Copyright © 2011-2022 走看看