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的对应关系:
    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
# demoWeb 一个基于SpringMVC的web框架 1.0.5 从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径调整 1.0.7 增加http工具类,demo例子 1.0.8 socket工具类,权限组件,菜单组件,jdbc分页支持多种数据库,ant路径工具类,增加jquery easyUI 1.0.9 版本管理,服务根路径工具类,文件上传工具类 1.0.10 集成ueditor在线编辑器 1.0.11 地址联动 1.0.12 Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 zookeeper工具类优化 增加工具类 1.0.16 页面html标志修改 httpclient中文支持 工具类增强(zip,reflect,thread) 1.0.17 ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 首页修改 dateformat.js 时间参数转换 SpringMVC配置文件集中 快递参数接口 1.1.4 des加解密字符串和文件 1.1.5 redis 加锁,redis升级成2.8.2 freemarker工具类 1.1.6 spring websocket 实现在线聊天 maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 rabbitMQ集成 视频截图 图片缩略图旋转 集成Mybatis 使用数据库连接池druid dubbo使用 1.1.11 集成Spring Cache,FastJson Spring Cache增加redis缓存实现 Mybatis使用二级缓存,增加redis实现 增加reactJs 增加Mybatis插件pageHelper,Mapper doc内有相关文档

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一宿君

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

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

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

打赏作者

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

抵扣说明:

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

余额充值