SpringMVC原理

发表时间:2017-07-11 17:12:14 浏览量( 22 ) 留言数( 0 )

学习目标:

1、了解SpringMVC的原理


学习过程:

一、SpringMVC的简介

    前面我们已经学习了Struts2这个MVC框架了。相比之下Spring MVC速度和易用性更好,再全球来说,SpringMVC的市场占用率非常高,而Struts2的市场占用率已经在不断萎缩,除了一部分旧项目,目前大部分新启动的项目都采用了Spring MVC框架了。技术的发展就是这么快的了。这里我不再和大家介绍MVC的概念了,大家可以自己参考之前的Struts2框架的内容。

二、Spring MVC的原理

  工作原理

attcontent/487b2384-1831-4a1b-a79f-3cbd40fa5dce.jpg

上面的是springMVC的工作原理图:


1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.


2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。


3、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。


4、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。


5、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。


6、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。