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根据试图解析器解析后的视图结构,调用具体的视图
-
最终视图呈现给用户

浙公网安备 33010602011771号