springMVC处理流程
用户发送请求(URL)经过前端springmvc的前端控制器(dispatchservlet)@1,前端控制器只负责控制,所以把(URL)交给处理器映射器(HandlerMapping)进行处理,处理完之后返回HandlerExecutionChain对象@3,就能拿到对应的XXXcontrol交给前端控制器,前端控制器再将control交给处理器适配器(HandlerAdapter)@3进行处理,处理完成后返回ModelAndView对象@4,handler()方法返回一个MV个处理器适配器,处理器适配器再将MV返回给前端控制器,由于前端控制器不能将MV直接返回给用户,所以再交给视图解析器(ViewResolver)处理@5,视图解析器将解析出来的view交给前端控制器,前端控制器再将结果响应给用户。
@1:dispatchservlet:核心本质就是servlet;
@2:HandlerExecutionChain对象:属性:包含自定义的Controller、还可能包含intercepter(拦截器),什么叫可能?因为有可能有默认的拦截器;
@3:处理器适配器:(处理不同方式实现的Control)
非注解:实现Control接口、HttpRequestHandler接口;
注解:@Controller
@4:返回ModelAndView对象时,她的内部会调用一个handler方法(handler())。
@5:视图解析去处理过程:将MV对象拆分,分成model和view,将model渲染到view视图上。
渲染(dander):就是将数据放到request域中;
注意:以上内容纯属个人理解,如需转载,请注明转载出处!