具体步骤:
1,浏览器发起请求到前端控制器(DispatcherServlet )
2.使用处理器映射器(HandlerMapping )反射了一个Handler(Handler里包含了所有的方法),可以获取到所有的方法,并返回一个处理器执行链HandlerInterceptor (其中包含了Handler和多个拦截器,其实我们也可以将其看成是返回的是一共反射的Handler方法)
3我们反射回来的方法不可以直接用,因为你不知道这个方法是注解的还是配置的,所以我们的前端控制器要调用处理器适配器(处理器适配器的作用就是无论你传来的Handler 方法是配置的还是注解的都可以适配上去正常使用)
4,处理器适配器HandlerAdapter将会根据适配的结果去执行Handler
5,Handler执行完成给适配器返回ModelAndView(其中带有请求的页面)
6.处理器适配器向前端控制器返回ModelAndView (ModelAndView是springmvc框架的一个底层对象,包括 Model和view)
7,前端控制器请求视图解析器去进行视图解析(视图解析器中包括了 路径的后缀,viewResolver要配置的视图解析器 )
8,视图解析器向前端控制器返回view(要填充到request里(请求和响应)(请求里包含了前端提交的参数和所有的请求头)) 请求转发
9,前端控制器进行视图渲染 (将数据(在ModelAndView对象中)填充到request域)
10,前端控制器向用户响应结果