SpringMVC执行原理
精细版SPRINGMVC执行原理
这个图是spring mvc 的一个完整的流程图,只有虚线才是我们要做的,实现部分都是spring mvc已经帮我们做了的。
简要的分析一下执行的流程:
-
DispatcherServlet表示前置的控制器,是整个spring mvc的控制中心,用户发出请求,DispatcherServlet接受请求并拦截请求
假设url为 http://localhost:8080/springmvc/hello 这个url就可以拆分成3个部分
http://localhost:8080 这是服务器的域名
springmvc部署在服务器上的web站点
hello 表示控制器
通过分析,如上url表示为:请求位于服务器localhost:8080 上的springmvc站点的hello控制器
-
HandlerMapping为处理器映射,由DispathcerServlet自动调用
HandlerMapping根据请求url的控制器去查找在springmvc-config.xml里面的Handler.
-
HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找的控制器为 hello
-
HandlerExecution 将解析后的信息传递给DispatcherServlet,如解析控制器映射等。
-
HandlerApdapter表示处理器适配器,其按照特定的规则去执行Handler.
-
Handler让具体的Controller执行
-
Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView.
-
HandlerAdapter将试图逻辑名或者模型传递给DispatcherServlet
-
DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名
-
试图解析器将解析的逻辑视图名传递给DispatcherServlet.
-
DispatcherServlet根据试图解析器解析后的视图结构,调用具体的视图
-
最终视图呈现给用户
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?