【Spring MVC】深度探险SpringMVC(二)——框架介绍

来源:互联网 发布:网络刷手一天能挣多少 编辑:程序博客网 时间:2024/05/22 10:47

一、前言

      从这篇博客开始小编就正式向打击介绍一下SpringMVC这个轻量级的框架,既然是轻量级自然就可以单独使用了。也许你可能问为什么要使用Spring MVC,Struts 2.x不才是主流吗?我调查了一下,2014-2015年之间前10名基于Java的Web框架中,Spring MVC位列首位。

这里写图片描述

二、什么是MVC?

      在介绍Spring MVC之前呢,咱们得先说一下MVC,这个老设计模式了。

      MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。

  • View(视图)显示数据(数据库记录)。

  • Controller(控制器)处理输入(写入数据库记录)。


这里写图片描述

三、什么是SpringMVC?

这里写图片描述

3.1 步骤:

      第一步:发起请求到前端控制器(DispatcherServlet)

      第二步:前端控制器请求HandlerMapping查找Handler,可以根据xml配置、注解查找

      第三步:处理器映射器HandlerMapping向前端控制器返回执行

      第四步:前端控制器调用处理器适配器去执行Handler

      第五步:处理器适配器去执行Handler

      第六步:handler执行完,给适配器返回modelandview

      第七步:处理器适配器向前端控制器返回modelAndview,modelandview是 springmvc框架的底层对象,包括Model和view

      第八步:前端控制器请求视图解析器去进行视图解析,根据逻辑视图名称解析成真正的视图(jsp)

      第九步:视图解析器向前端控制器返回view

      第十步:前端控制器进行视图渲染,视图渲染将模型数据(modelAndview)填充到request域

      十一步:前端控制器向用户响应结果


这里写图片描述

3.2 组件:

      1.前端控制器DispatcherServlet(不用程序员开发)

作用:接收请求,响应结果,相当于转发器,有了他,减少其他组件的耦合度。

      2.处理器映射器 HandlerMapping(不)

作用:根据请求的URl查找handler。

      3.处理器适配器 handlerAdapter(不)

作用:按照特定规则(handlerAdapter要求的规则)执行handler。

      4.处理器Handler(开发)

作用:编写handler时按照HandlerAdapter的要求去做,这样适配器才可以正确执行Handler。

      5.视图解析器 view resolver(不)

作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)。

      6.视图view(开发)

作用:一个接口,实现类支持不同的view类型。

3.3 个人理解

      前端控制器就相当于CPU,而处理器映射器就相当于处理的映射表,当我们的请求传达到前端控制器的时候,前端控制器就会查看映射表,看要把这个请求给那个部件处理。

      当确定后,就会调用处理器映射器,把信息处理给他,让他来执行最后的处理器,当处理完毕后,就会把信息返回出来。重新给前端控制器。

      这个时候就应该把数据显示的到用户界面了,所以前端控制器会通过调用视图解析器来对要显示的视图进行解析。然后视图渲染显示视图。

四、小结

      个人感觉springMvc的框架职责单一体现的非常淋漓尽致。每个部件都有自己单独唯一的功能,这也就让springMvc的系统更加的有水品,好拓展。非常的方便。我们要做到的就是要深刻的理解一下框架的各个部件,不同的部件的功能,以后开发学习的时候会更加的得心应手。

1 1