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

from:https://my.oschina.net/kaywu123/blog/652471

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月写于杭州)

猜你喜欢

转载自blog.csdn.net/u010142437/article/details/81774044