Spring 源码分析(四) ——MVC(八)总结

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

from:Spring 源码分析(四) ——MVC(八)总结 - 水门-kay的个人页面 - OSCHINA - 中文开源技术交流社区

Spring MVC 的总结

        Spring 并不会强制应用对 Web 框架的选择,但对于 Web 应用开发而言,选择直接使用 Spring MVC 可以给应用开发带来许多便利。

        而对于整个 Spring MVC 框架的运行过程,首先,在 Web 环境中建立 Sping Ioc 容器的 Web 容器中的配置和初始化,当然,因为 Web 容器的特殊性,所以在配置方面,需要对 Web 环境相对应的一些特殊处理,比如 Servlet 和 ServletContext 的使用等。

        然后,是 Spring MVC 的整体实现也比较好理解,而其本质其实是对 Servlet 的封装,而整个 Spring MVC 的运行是以 DispatcherServlet 为中心进行控制的。 具体来说,Spring MVC 的实现大致有以下几个步骤完成:

                1)需要建立 Controller 控制器和 HTTP 请求之间的映射关系,即根据请求得到对应的 Controller。而这个工作机制是由 handlerMapping 中封装的 HandlerExecutionChain 来完成的,而对 Controller 控制器和 HTTP 请求的映射关系是在 Bean 中定义的,并在 Ioc 容器的初始化中,载入 handlerMap 中使用。

                2)Controller 对象和 HTTP 请求之间的映射关系建立好了以后,MVC 框架中,DispatcherServlet 会根据具体的 URL 请求信息,在 HandlerMapping 中进行查询,从而得到对应的 HandlerExecutionChain,然后根据动作的响应生成需要的 ModelAndView。

                3)得到这个 ModelAndView 以后,DispatcherServlet 会把获得的模型数据交给特定的视图对象,从而完成视图的呈现,而这个具体过程是由 render 方法来完成的。

        

——水门(2016年4月写于杭州)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值