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的主要内容,如果未能解决你的问题,请参考以下文章
spring cloud 入门系列一:初识spring cloud