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

一、前言

      从这篇博客开始小编就正式向打击介绍一下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
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你个佬六

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值