1 SpringMVC概念 2 处理流程 浏览器发出一个请求给中央调度器 获取处理器映射器 getHandler方法就会拿出全部的处理器映射器,遍历全部处理器映射器,找到相应的的处理器映射器(这里我们就不再跟了,读者可自己跟) 把处理器和拦截器封装成处理器执行链 中央调度器把交处理器执行链给处理器适配器 用处理器适配器调用处理器 我们可以看到handle方法将handler强制转换成实现的接口,然后返回ModelAndView 处理器把ModelAndView交给理器适配器 理器适配器把ModelAndView交给中央调度器 中央调度器把ModelAndView交给视图解析器渲染 视图解析器把View交给中央调度器 中央调度器把View交给视图 视图返回中央调度器 把对象封装成response给浏览器
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术。
3 执行流程
打开DispatcherServlet类的源码
这里的processedRequest就是接收到的请求,我们注意到,这里有一个multipartRequestParsed变量并且是false
我们跟
源码解析
判断是multipart请求的依据有两个:
1).有multipartResolver bean
这是在springmvc的配置文件定义的类
2). form里的enctype是multipart/form-data
判断完就到第2步了
怎么获取呢?别着急,我们跟
从处理器映射器hm的getHandler方法里中用处理器和请求获取处理器执行链
那么拦截器在哪呢?
拦截器这里就不再拓展了,处理器执行链在这里就能添加拦截器,然后把处理器执行链交给中央调度器
回到DispatcherServlet类的doDispatch方法
再跟
getHandlerAdaptor遍方法历全部处理器适配器,如果处理器适配器支持处理器执行链的处理器
这里的支持指的是通过supports方法判断,我们打开其中一个实现类(以Controller接口为例)
这里的Controller就是我们学习处理器是实现的接口,如果处理器实现了他就返回这个的处理器适配器,好了,第4步就完成了
我们看到处理器适配器执行了handle方法,不妨打开处理器适配器的源码
视图解析器调用applyPostHandler方法,那applyPostHandler到底是怎么渲染的呢?
我们再跟
可以看到,在此方法中拦截器调用applyPostHandler,渲染,把ModelAndView存进去
这里拓展一下,拦截器有三个方法,preHandle、postHandle、afterCompletion。preHandle在处理器执行处理器方法前执行,postHandle在处理器执行处理器方法后执行,afterCompletion在中央调度器执行视图解析器才执行(即第8步执行完后)
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算