Java基础面试题(17)----SpringMVC的执行流程

问题

说一下SpringMVC的执行流程。


解析

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
执行流程如下图
在这里插入图片描述

执行流程大致分为一下五个步骤:

  • 核心控制器捕获请求
    用户向服务器发送请求,请求被Spring的前端控制器DispatcherServlet捕获。

  • 获取Handler对象
    DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI),然后根据URI,调用HandlerMapper,获得Handler配置的所有相关对象(包括Handler对象以及Handler对象对应的拦截器),最后HandkerExecutionChain对象的形式返回。

  • 执行Handler
    DispatcherServlet根据获得的Handler,选择一个合适的HandlerAdapter,提取request中的模型数据,填充Handler入参,开始执行Hadndler(Controller),Handler执行完成后,向DispatcherServlet返回一个ModelAndView对象

  • 选择ViewResolver
    DispatcherServlet根据返回对的ModelAndView对象,选择一个合适的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)

  • 渲染视图并返回
    通过ViewResolver结合Model和View,来渲染视图,DispatcherServlet将渲染结果返回给客户端。


结束,晚安各位!

猜你喜欢

转载自blog.csdn.net/weixin_42229056/article/details/82935176