SpringMVC 请求处理流程及springMVC的九大组件
用户发送请求到DispatcherSevletDispatcherSevlet收到请求调用HandlerMapper处理映射器处理映射器根据请求的Url找到具体的Handler(Contorler后端控制器),生成处理器对象及处理器挂载器(如果有则生成)一并返回给DispatherServletDispatcherSevlet调用HandlerApapter处理器适配器去调用具体的Handler处
- 用户发送请求到DispatcherSevlet
- DispatcherSevlet收到请求调用HandlerMapper处理映射器
- 处理映射器根据请求的Url找到具体的Handler(Contorler后端控制器),生成处理器对象及处理器挂载器(如果有则生成)一并返回给DispatherServlet
- DispatcherSevlet调用HandlerApapter处理器适配器去调用具体的Handler
- 处理器适配器(具体)去执行Handler
- Handler执行完成后给处理器适配器返回ModelAndView
- 处理器适配器-HandlerApapter向DispatcherSevlet返回ModelAndView,ModelAndView是SpringMVC框架的一个底层对像,包括Model和View
- DispatcherSevlet请求视图解析器去进行视图解析,根据逻辑视图名解析真正的视图
- 视图解析器向DispatcherSevlet返回View
10.DispatcherSevlet进行视图渲染,就是将模型数据-ModelAndView对象中的数据填充到Request域 - DispatcherSevlet向用户响应结果
springMVC的九大组件
-
HandlerMapping
处理器映射器,URL与Handler之间映射关系
一个方法就是一个Handler
找到对象的处理器和拦截器 -
HandlerAdapter
处理器适配器,把请求交给具体的Handler来进行处理 -
HandlerExceptionResolver
用于处理Handler产生异常情况, -
ViewResolver-视图解析器
根据逻辑视频解析到真正的视图,反回View -
RequestToViewNameTranslator
从请求中获取ViewName,因为ViewResolver根据ViewName查找View,但有的Handler处理完之后没有View,也没有设置ViewName,便要通过这个组件从请求中查找ViewName -
LocalResolver 本地解析器
ViewResolver组的ResolverViewName方法 需要2个参数,一个视图名,一个Local,主要用于国际化 -
ThemeResolve-主题解析器,
样式 图片显示效果的集合 -
MultipartResolver 用于上传请求
通过将普通请求包装成MultipartHttpServletRequest来实现 -
FlashMapManager
FlashMap用于重定向时的参数传递,
更多推荐
所有评论(0)