-
用户发来一个url请求,如http://localhost:8080/SpringMVC/hello
-
DispatcherServlet接收并拦截下url地址,并将其拆分为三部分:
- 服务器域名:
http://localhost:8080
/SpringMVC/hello - 部署在服务器上的web站点:http://localhost:8080/
SpringMVC
/hello - 控制器Controller:http://localhost:8080/SpringMVC/
hello
然后DispatcherServlet调用HandlerMapping处理器映射,通过url信息查找Handler
-
HandlerExecution表示查找到的具体的Handler,其作用是根据url信息查找控制器Controller,如上式url中的hello
-
HandlerExecution将查找到的Controller信息返回给DispatcherServlet
-
HandlerAdapter表示处理器适配器,其按照特定的规则去执行Handler
-
Handler让具体的Controller执行(业务层代码)
-
Controller将执行后的信息,如ModelAndView对象返回给HandlerAdapter
-
HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet
-
DispatcherServlet调用ViewResolver视图解析器来解析逻辑视图名
-
DispatcherServlet根据解析好的逻辑视图名来调用具体的视图
-
View将信息渲染到页面上
-
传递给用户