问题
说一下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将渲染结果返回给客户端。
结束,晚安各位!
更多推荐
Java基础面试题(17)----SpringMVC的执行流程
发布评论