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

本文解析了SpringMVC的执行流程,从核心控制器捕获请求开始,经过Handler对象获取、Handler执行、选择ViewResolver到最后的视图渲染,详细阐述了每个步骤。适合JavaEE开发者及面试者了解SpringMVC工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

说一下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将渲染结果返回给客户端。


结束,晚安各位!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值