SpringMVC执行原理

Spring MVC的原理如下图所示:

img

精细版SPRINGMVC执行原理

img

这个图是spring mvc 的一个完整的流程图,只有虚线才是我们要做的,实现部分都是spring mvc已经帮我们做了的。

简要的分析一下执行的流程:

  1. DispatcherServlet表示前置的控制器,是整个spring mvc的控制中心,用户发出请求,DispatcherServlet接受请求并拦截请求

    假设url为 http://localhost:8080/springmvc/hello 这个url就可以拆分成3个部分

    http://localhost:8080 这是服务器的域名

    springmvc部署在服务器上的web站点

    hello 表示控制器

    通过分析,如上url表示为:请求位于服务器localhost:8080 上的springmvc站点的hello控制器

  1. HandlerMapping为处理器映射,由DispathcerServlet自动调用

    HandlerMapping根据请求url的控制器去查找在springmvc-config.xml里面的Handler.

  1. HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找的控制器为 hello

  1. HandlerExecution 将解析后的信息传递给DispatcherServlet,如解析控制器映射等。

  1. HandlerApdapter表示处理器适配器,其按照特定的规则去执行Handler.

  1. Handler让具体的Controller执行

  1. Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView.

  1. HandlerAdapter将试图逻辑名或者模型传递给DispatcherServlet

  1. DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名

  1. 试图解析器将解析的逻辑视图名传递给DispatcherServlet.

  1. DispatcherServlet根据试图解析器解析后的视图结构,调用具体的视图

  1. 最终视图呈现给用户

posted @   宇宙过河卒  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示