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