面试遇到这样一个问题,springmvc的核心是哪个词?
当时就懵逼了,核心词?想想,拦截器?不对,配置在web.xml中的,好吧,原来是Dispatcher,分发的意思。其实就是DispatcherServlet(前端控制器)。想想也是,整个springMvc的核心部分就是这个分发器。再来看一遍springMvc的整个执行流程:
(1)请求发送至前端控制器DispatcherServlet
(2)前端控制器收到请求调用HandlerMapping处理器映射器
(3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet
(4)DispatcherServlet通过HandlerAdapter处理器调用处理器
(5)执行处理器
(6)Controller执行完返回ModelAndView
(7)HandlerAdapter将ModelAndView返回给DispatcherServlet
(8)DispatcherServlet将ModelAndView传给ViewReslover视图解析器
(9)ViewReslover解析后返回具体的View
(10)DisaptcherServlet对View进行渲染视图
(11)DispatcherServlet响应用户
在整个执行流程中,DispatcherServlet起到分发、响应的作用,是整个流程的中心,而springMvc的核心也就在这里。