SpringMVC执行原理
简要叙述SpringMVC执行步骤
-
用户通过url请求首先会到DispatcherServlet核心(前端控制器),假设请求的url为 : http://localhost:8080/SpringMVC/test;
-
如上url拆分成三部分:
-
http://localhost:8080服务器域名
-
SpringMVC部署在服务器上的web站点
-
test表示控制器
-
-
DispatcherServlet是整个SpringMVC的控制中心
-
用户发出请求,DispatcherServlet接收请求并拦截请求
-
-
DispatcherServlet会去调用HandlerMapping(处理器映射),HandlerMapping根据请求url查找Handler;
-
HandlerExecution为具体的Handler,它会去根据url查找控制器,如上url的控制器为:test;
-
HandlerExecution将解析后的信息传递回DispatcherServlet;
-
DispatcherServlet把这些信息给HandlerAdapter(处理器适配器),它会按照特定的规则去执行Handler;
-
Handler会让具体的Controller执行;
-
Controller将具体的执行信息返回给HandlerAdapter,如ModelAndView;
-
HandlerAdapter将视图逻辑名或者模型传递回DispatcherServlet;
-
DispatcherServlet调用ViewResolver(视图解析器)来解析HandlerAdapter传递的逻辑视图名;
-
ViewResolver将逻辑视图名传递回DispatcherServlet;
-
DispatcherServlet根据ViewResolver解析的视图结果,调用具体的视图;
-
最终将视图呈现给用户。