Spring mvc核心简述

 

  用户每在web浏览器上点击一个链接或提交一个表单,就会产生一个请求。请求离开浏览器时,会携带用户发送请求的信息内容,至少携带着请求的url

  ① 请求旅行的第一个停止点是 Spring的 DispatcherServlet

      在Spring MVC中,所有的请求都要经过这个前端控制器(DispatcherServlet)。

      DispatcherServlet的工作是将所有的请求发送给Spring MVC的控制器(Controller)。 

  ② 所谓控制器就是一个处理请求的 Spring组件。不过一个典型的应用程序可能会有多个控制器,DispatcherServlet需要知道请求应该发送给哪一个控制器。

    因此,DispatcherServlet会查询一个或多个处理器映射,了解请求的下一个停止点是什么,处理器映射会根据请求携带的URL做出自己的决策。

  ③ 一旦 DispatcherServlet找到了一个控制器对象,它会将请求以适当的方法分派给这个控制器。在控制器上,请求将卸下其用户提交的信息,并等待控制器处理这些信息。

  ④ 实际上,一个设计良好的控制器自己只执行很少或者不执行处理工作,而是委托给一个或多个业务对象,让它们负责业务逻辑处理。

  ⑤ 完成业务逻辑后,一般会生成服务器响应的结果信息,这些信息被称为模型(model)

  ⑥ 接着,控制器所做的最后一件工作,是将模型数据和视图名称打包到 ModelAndView对象中。然后,将ModelAndView对象捆绑的请求发送给DispatcherServlet

    顾名思义,ModelAndView不仅携带模型数据,还携带由哪个视图来呈现结果提示的。

  ⑦ 一旦ModelAndView被提交给DispatcherServletDispatcherServlet会要求一个视图解析器来协助查找实际的视图(jsp)

      现在,DispatcherServlet已经知道由哪个视图来渲染结果,请求工作也差不多完成了。最后一个停止点是被提交的模型数据到达的视图实现(可能是一个jsp)

          随着模型数据被提交给视图,请求的所有工作就完成了。视图会使用这些模型数据渲染一个页面,并通过响应对象返回给浏览器。

  

posted on 2016-02-28 23:35  快跑的小鸡  阅读(1133)  评论(1)    收藏  举报

导航