• [全家桶之SpringMVC]SpringMVC 的特点和优势


    你总得知道它好在哪,才能够用的心安理得!了解 SpringMVC 的设计目的、核心思想、主要特性和与传统 Servlet 和其他 MVC 框架的区别和优势。

    概念

            SpringMVC 是 Spring 提供的一个实现了 Web MVC 设计模式的轻量级 Web 框架。它与 Struts2 框架一样,都属于 MVC 框架,但其使用和性能等方面比 Struts2 更加优异。很遗憾没有见证过Struts2辉煌的时代,现在除了很老的项目在维护,基本上已经不使用了。

    作用

            SpringMVC 的设计目的是为了使 Spring 有可插入的 MVC 架构,从而在使用 Spring 进行 Web 开发时可以选择使用 Spring 的 SpringMVC 框架作为 Web 开发的控制器框架。所以,SpringMVC并不是spring的plus版,相反它只是spring框架的web部分,包含在spring内哦~

    核心思想

            SpringMVC 的核心思想是基于请求驱动的模型-视图-控制器(Model-View-Controller, MVC)架构,它提供了一个前端控制器 DispatcherServlet,作为统一的请求入口,负责分派请求到不同的处理器(Handler),并通过视图解析器(ViewResolver)来渲染视图(View)。

    主要特性

    SpringMVC 的主要特性有以下几点:

    • 清晰的角色划分:控制器(Controller)、验证器(Validator)、命令对象(Command Object)、表单对象(Form Object)、模型对象(Model Object)、Servlet 分发器(DispatcherServlet)、处理器映射(Handler Mapping)、视图解析器(View Resolver)等等。每一个角色都可以由一个专门的对象来实现。
    • 强大而直接的配置方式:将框架类和应用程序类都能作为 JavaBean 配置,支持跨多个 context 的引用,例如,在 web 控制器中对业务对象和验证器(Validator)的引用。
    • 可适配、非侵入:可以根据不同的应用场景,选择合适的控制器子类(simple型、command型、form型、wizard型、multi-action型或者自定义),而不是一个单一控制器(比如 Action/ActionForm)继承。
    • 可重用的业务代码:可以使用现有的业务对象作为命令或表单对象,无需继承框架特定 API。
    • 与 Spring 其他框架无缝集成,是其它 Web 框架所不具备的。
    • 可定制性,HandlerMapping、ViewResolver 等能够非常简单地定制。
    • 功能强大的数据验证、格式化、绑定机制。
    • 利用 Spring 提供的 Mock 对象能够非常简单地进行 Web 层单元测试。
    • 本地化、主题的解析的支持,使我们更容易进行国际化和主题的切换。

    看不懂别急,这章其实就是开篇(闲聊),为了引入之后的内容。

    优势

    与传统 Servlet 和其他 MVC 框架相比,SpringMVC 有以下几点区别和优势:

    • 相比于传统 Servlet,SpringMVC 提供了更高层次的抽象和封装,使开发人员无需关心底层细节,只需关注业务逻辑和视图展示。
    • 相比于 Struts2 框架,SpringMVC 运行效率更高,注解式开发更高效灵活,异常处理和 AOP 机制更完善。
    • 相比于 Play Framework 框架,SpringMVC 采用标准的 Java 开发,而 Play Framework 采用 Scala 语言开发而成。SpringMVC 提供更高的吞吐量和更好的性能。
    • 相比于 Ruby on Rails 框架,SpringMVC 提供更好的灵活性和可维护性,同时可以与其他的框架进行高效的集成,提高开发效率和用户体验。

    学完SpringMVC打下坚实基础,再学习Spring会轻松很多~


                                                                                                                                    我手写我口,我手写我心  ——  黄遵宪

  • 相关阅读:
    Davinci Developer Classic SWC新建port并连接非complete port方式
    网络安全笔记-Web服务器
    《SpringBoot篇》06.超详细热部署教学
    【第三部分 | 移动端开发】4:Rem布局
    【QT学习】8.qt事件处理机制,事件过滤器,自定义事件
    maptalks常见操作——图层置顶置底、添加清空图层、添加标注、切换底图、添加缩放工具、事件监听(点击面出弹框)、右键菜单、绘制mark、锁定视角
    学生选课系统基础版
    【Pytorch深度学习开发实践学习】Pytorch实现LeNet神经网络(1)
    Django系列17-员工管理系统实战--文件上传
    这是你没见过的MindSpore 2.0.0 for Windows GPU版
  • 原文地址:https://blog.csdn.net/TaloyerG/article/details/132994439