DispatcherServlet是一个前端控制器,是整个Spring MVC框架的核心组件。它在接收HTTP请求之后,根据请求调用Spring MVC中的各个组件。
常用接口及其含义:
1. Controller:被@Controller修饰的类是控制器类。
2. HandlerMapping:将用户请求映射到控制器。
3. HandlerInterceptor:拦截指定格式的URL请求。
4. ModelAndView:控制器处理完请求后,将视图的逻辑名称和模型数据封装成ModelAndView对象,把该对象交给DispatcherServlet。
5. ViewResolver:视图解析器,将视图的逻辑名称映射成具体的视图。
6. View:具体视图。
Spring MVC 处理HTTP请求的整体流程如下图所示:
1. 用户发送HTTP请求后,该请求交给DispatcherServlet处理。
2. DispatcherServlet根据请求查找一个或多个HandlerMapping,根据HandlerMapping查找处理请求的Controller。
3. DispatcherServlet将请求提交给Controller。
4. Controller调用Service层处理请求。
5. Controller处理请求后得到ModelAndView对象。
6. DispatcherServlet查找一个或多个ViewResolver视图解析器。
7. 视图解析后得到ModelAndView指定的视图。
8. HTTP响应,View展示数据。
参考资料
《MyBatis技术内幕》 P391-393