SpringMVC概念及实现原理

SpringMVC 概念

1.Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量Web框架
2.使用了MVC架构模式的思想,将web层进行职责解耦
3.基于请求驱动指的就是使用请求-响应模型
4.框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

在使用SpringMVC之前,我们要先搞清楚MVC设计模式。MVC设计模式是一种设计思想。主要通过锋利模型、视图、控制器将应用程序角色中的业务逻辑从界面中解耦出来。允许单独改变而不相互影响。

在这里插入图片描述

SpringMVC实现原理

原理图:

在这里插入图片描述

实现流程:
  1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;

  2. DispatcherServlet 对请求URL进行解析,得到URI,根据得到的URI调用HandlerMapping获取该Handler配置的所有相关对象,最后以HandlerExecutionChain对象的形式返回。

  3. DispatcherServlet根据获得的Handler,选择一个合适的HandlerAdapter。

  4. 提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:

    HttpMessageConveter:将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息。

    数据转换:对请求消息进行数据转换。如String转换成Integer、Double等。

    数据格式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等。

    数据验证:验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中。

  5. Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;

  6. 根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet ;

  7. ViewResolver 结合Model和View,来渲染视图;

Spring 和 SpringMVC的区别和联系

Spring:
Sprng就像一个强大的整合器,它本身提供了很多写好的功能,但是如果你不想用可以通过Spring整合其他的功能。
SpringMVC 其底层就是servlet。java代码和前端页面就是通过SpringMVC联系起来的。类似与struts2。
SpringMVC:
SpringMVC提供了一种轻度耦合的方式来开发web应用。
SpringMVC是Spring的一个模块,是一个web框架。通过DispatcherServlet, ModelAndView 和 ViewResolver,开发web应用变得很容易。
解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。
补充:

SpringBoot:

SpringBoot实现了自动配置,降低了项目搭建的复杂度。
众所周知Spring框架需要进行大量的配置,Spring Boot引入自动配置的概念,让项目设置变得很容易。Spring Boot本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。


以上
@Fzxey

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值