Spring入门(二):Spring MVC模型

迷迷糊糊接触了几天的Spring和SpringMVC,结果脑子里还是迷得不行。
现在从头再梳理一遍。


WEB开发中的请求-响应模型

Spring入门(二):Spring MVC模型_第1张图片
举例:我们通过火狐浏览器在地址栏输入www.github.com,按下回车。这就是客户端向服务器端发送请求的动作。对应的,网页跳转到github的首页页面,就是服务器端处理请求成功之后,向我们客户端做出的响应。

这么简单的了解了请求-响应模型之后,我们来看下经常听到的MVC到底是何方神圣。


MVC模型

MVC全名:Model Controller View。三者分别是:模型、控制器、视图。
MVC模型的作用:是一种架构模型,为了使开发的组织结构更加合理。实现了展示与模型分离(M和V分离)。
MVC各部分理解:

  • V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。
  • M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
  • C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
    Spring入门(二):Spring MVC模型_第2张图片
    结合画的图看起来,应该会比较好理解了。
    但是以上我们所了解到的,只是基础的传统的mvc模型,现在我们要了解的springMVC还与上文所学习的有所不同。
    (ps:自己画图可真慢,附件的画图工具也是第一次拿它画出了“花儿”来。以后还是得了解一下好的画图工具。)

springMVC模型

  • Spring MVC是什么?
    是一个分层的Java Web 开发框架。
  • Spring MVC的功能?
    1)提供了一个分层的体系结构,其中每一层对其他层进行了抽象。
    2)框架突出了HTTP协议中的请求/响应特性,该框架中,用户的每一个请求都声明了一个需要执行的动作(通过每个URI映射到一个可执行的方法来实现)。同时,将请求参数映射到对应方法的参数。
  • Spring MVC的优点?
    1)spring mvc 是spring的一个子项目,所以集成了spring的核心功能。比如依赖注入机制。这使得配置控制器和使用基于注解的定义变得十分简单。
    2)spring mvc提供了一种绑定机制,使得web开发变得简单。绑定机制的描述:从用户请求中提取数据,然后将提取到的数据转为预定义数据格式,并且映射到一个模型类,从而创建一个对象。(此机制的实现要求:请求参数名称与Java类的属性相匹配即可)
    3)视图不可知。对于视图层,不仅仅局限与jsp技术。
    4)提供简单的测试方法。

Dispacher Servlet机制

Dispacher Servlet是spring mvc 的核心元素。它负责处理所有请求。
详细的执行过程:

Spring入门(二):Spring MVC模型_第3张图片

换一种表达形式如下图:
Spring入门(二):Spring MVC模型_第4张图片

可见,springMVC是基于中央前端控制器的。


你可能感兴趣的:(Java)