Spring MVC系列初识Spring MVC

Posted 一宿君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring MVC系列初识Spring MVC相关的知识,希望对你有一定的参考价值。

一、初识Spring MVC

1.1 Spring MVC概述

Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架。它与Structs2框架一样,都属于MVC框架,但其使用和性能方面比Structs2更加优异。

MVC开始是存在与桌面应用程序中的,M(Model)是业务模型、V(View)是用户界面、C(Controller)是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的形式。

MVC指MVC模式的某种框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分为三个核心部件:模型、视图、控制器。它们各自处理各自的任务。最典型的MVC就是JSP+Servlet+JavaBean的模式。

  • M 即Model(模型层),主要负责处理业务逻辑以及数据库的交互
  • V 即View(视图层),主要负责显示数据和提交数据
  • C 即Controller(控制层),主要是永作辅助捕获请求并控制请求转发

MVC其工作原理如下图:

在这里插入图片描述

1.2 Spring MVC框架具有以下特点:

  • 是Spring框架的一部分,可以方便的利用Spring提供的其他功能。
  • 灵活性强,易于与其他框架集成。
  • 提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发控制器对象。
  • 可自动绑定用户输入,并能正确转换数据类型。
  • 内置了常见的校验器,可以校验用户输入。如果校验不通过,那么就会重定向到输入表单。
  • 支持国际化。可以根据用户区域显示多国语言。
    -支持多种视图技术。它支持JSP、Velocity和FreeMarker等视图技术。
    使用基于XML的配置文件,在配置后,需要重新编译应用程序。

1.3 MVC与三层架构的区别

  • 同样是架构,他们的相同之处在于表现层,都是用来负责显示数据和提交数据的。

  • 不同之处在于另外两层,三层架构中没有定义Controller的概念,这是两者最大区别。

  • 三层架构中当然也有Model层,但是两者的不同在于,三层架构中的Model是由“业务逻辑” + “数据访问” 两部分共同组成;而MVC中放入Model是单指实体类。

  • 三层架构与MVC的对应关系:
    在这里插入图片描述

以上是关于Spring MVC系列初识Spring MVC的主要内容,如果未能解决你的问题,请参考以下文章

MVC模式和Spring MVC初识

spring cloud 入门系列一:初识spring cloud

Spring Boot&&Spring Cloud系列Spring Boot初识

初识Spring

SpringSpring系列7之Spring整合MVC框架

Spring MVC系列Spring MVC应用及ModelAndView(模型视图)