springMVC 执行流程
2022-07-18 23:19:17 18 举报
springmvc执行流程解析
作者其他创作
大纲/内容
调用目标Handler的目标方法,通过反射调用到
HttpMessageConverter
响应到页面
是否配置<mvc:default-servelt-handler/>
写到页面OutputStreamWriter
实现了
Object handler; 处理器
3.返回处理器执行链
ViewResolver
是否发生异常
DispatcherServlet
SpringMvc 中是否存在对应映射
否
拦截器applyPostHandle()
HandlerMappingRequestMappingHandlerMappingBeanNameUrlHandlerMappingRouterFunctionMappingSimpleUrlHandlerMappingWelcomePageHandlerMapping
拦截器applyPreHandle()
是
DispatcherServlet前端控制器
由ViewResolver 组件根据 ModelAndview 对象得到实际的View
写到页面的是一个字符串StringHttpMessageConverter
6.返回ModelAndView
异常解析器解析新的ModelAndView
HandlerMapping处理器映射器
7. ModelAndView
请求静态资源
ModelAndView是否为空
HandlerExecutionChain处理器执行链
404页面
拦截器链HandlerExecutionChain
说明已经返回了,比如标注了@ResponseBdoy注解
8.ModelAndView
VIew视图填充数据
返回空的ModelAndView
1.选择处理器映射器
渲染视图
结束
处理返回值RequestResponseBodyMethodProcessor
客服端
HandlerInterceptor[] interceptors;拦截器
请求
afterCompletion()
调用拦截器的
handle()调用处理器方法
HandlerAdapter处理器适配器
拦截器afterCompletion()
ViewResolver视图解析器
4. getHandlerAdapter
是否有@ResponseBody 注解
拦截器
调用拦截器的postHandle()
开始处理结果
解析
由HandlerExceptionResolver 组件处理异常,得到新的 ModelAndView 对象
HandlerInterceptor
目标方法返回一个ModelAndView
9.View视图
HandlerAdapterRequestMappingHandlerAdapterHandlerFunctionAdapterHttpRequestHandlerAdapterSimpleControllerHandlerAdapter
5.调用处理器执行链
Controller
2.getHandler(request);
响应请求
HandlerMethod
调用拦截器的 preHandle()
ModelAndView
10.Model数据
0 条评论
下一页