码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC--底层原理

时间:2017-09-27 21:46:24      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:流程图   模型   isp   view   适配   填充   客户   成功   mod   

 

Spring MVC处理的流程:

  技术分享

 

具体执行步骤如下:

  1 首先用户发送请求给前端控制器,前端控制器根据请求信息(如url)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图中的1、2步骤

  2 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在spring web mvc中叫命令对徐爱那个,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图中3、4、5步骤

  3 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图中的6、7步骤

  4 前端控制器再次收回控制权,将响应返回给用户,图中的步骤8

Spring MVC 的运行原理

通俗版:
  Spring MVC的执行流程就是一次请求和响应的过程:
  1 首先,用户向服务器发送请求,请求被前端控制器 DispatherServlet 截获,DispatherServlet 对 url 进行解析
    转交给HandlerMapping(处理器映射器)进行验证格式是否合法,如果不合法报异常;
    合法合法向下传递交给HandlerAdapter(处理器适配器)准备调用某个Controller
  2 获得Controller中的 配置信息,根据请求的地址和Controller中的配置信息找到对应的Controller中的方法
  3 调用方法前,会自动将参数填充进来,如果需要的话也会做必要和格式转换,例如将json转换成对象,将表单键值对转换成对象
  4 接着开始执行控制层的对应的方法
  5 控制层的方法执行完成后,Controller 向 DispatcherServlet 返回一个 ModelAndView 对象。ModelAndView中包含视图名称和模型数据
  6 然后SpringMVC 会根据配置文件中的视图解析器找到相应的视图,并结合Model进行渲染
  7 将视图渲染的结果返回给客户端
 
 
 
 
 
流程图:

 

具体执行流程为:
然后转交给HandlerMapping(处理器映射器)进行验证格式是否合法,如果不合法报异常,
如果合法向下传递交给HandlerAdapter(处理器适配器)准备调用某个Controller,
Controller在进入之前一般都需要执行HandlerInterceptor拦截器的preHandle()方法,
判断是否可以调用Controller.如果可以调用才能进入Controller
当Controller执行完成后再次进入拦截的postHandle验证传递内容是否合法
如果合法交给ViewResovler(视图解析器)调用具体的View视图资源.调用成功后再次进入拦截器的afterCompletion做最后验证,如果一切正确,响应给客户端。
到此,SpirngMVC执行结束.

 

Spring MVC--底层原理

标签:流程图   模型   isp   view   适配   填充   客户   成功   mod   

原文地址:http://www.cnblogs.com/roxy/p/7599936.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!