我找了一下资料,大致如下:
( 1)用户发送请求至前端控制器 DispatcherServlet ( 2) DispatcherServlet 收到请求后, 调用 HandlerMapping 处理器映射器, 请求获取 Handle ( 3) 处理器映射器根据请求 url 找到具体的处理器, 生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet ( 4) DispatcherServlet 调用 HandlerAdapter 处理器适配器 ( 5) HandlerAdapter 经过适配调用 具体处理器(Handler, 也叫后端控制器) ( 6) Handler 执行完成返回 ModelAndView ( 7) HandlerAdapter 将 Handler 执行结果 ModelAndView 返回给DispatcherServlet ( 8) DispatcherServlet 将 ModelAndView 传给 ViewResolver 视图解析器进行解析 ( 9) ViewResolver 解析后返回具体 View ( 10) DispatcherServlet 对 View 进行渲染视图( 即将模型数据填充至视图中) ( 11) DispatcherServlet 响应用户