首页 > 其他分享 >SpringMVC是什么?

SpringMVC是什么?

时间:2023-10-31 18:26:09浏览次数:30  
标签:Web 请求 框架 SpringMVC Spring 什么 MVC Model

Spring MVC 使用 MVC 架构模式的思想,将 Web 应用进行职责解构,把一个复杂的 Web 应用划分成模型(Model)、控制器(Contorller)以及视图(View)三层,有效地简化了 Web 应用的开发,降低了出错风险,同时也方便了开发人员之间的分工配合。

Spring MVC 各层的职责如下:

  • Model:负责对请求进行处理,并将结果返回给 Controller;
  • View:负责将请求的处理结果进行渲染,展示在客户端浏览器上;
  • Controller:是 Model 和 View 交互的纽带;主要负责接收用户请求,并调用 Model 对请求处理,然后将 Model 的处理结果传递给 View。


Spring MVC 本质是对 Servlet 的进一步封装,其最核心的组件是 DispatcherServlet,它是 Spring MVC 的前端控制器,主要负责对请求和响应的统一地处理和分发。Controller 接收到的请求其实就是 DispatcherServlet 根据一定的规则分发给它的。

Spring MVC 框架内部采用松耦合、可插拔的组件结构,具有高度可配置性,比起其他的 MVC 框架更具有扩展性和灵活性。此外,Spring MVC 的注解驱动(annotation-driven)和对 REST 风格的支持,也是它最具有特色的功能。 

Spring MVC 是 Spring 框架的众多子项目之一,自 Spring 框架诞生之日起就包含在 Spring 框架中了,它可以与 Spring 框架无缝集成,在性能方面具有先天的优越性。对于开发者来说,Spring MVC 的开发效率要明显高于其它的 Web 框架,因此 Spring MVC 在企业中得到了广泛的应用,成为目前业界最主流的 MVC 框架之一。

 

 

Spring MVC 的特点

Spring MVC 具有以下特点:

  • Spring MVC 是 Spring 家族原生产品,可以与 IoC 容器等 Spring 基础设施无缝对接;
  • Spring MVC 支持各种视图技术,例如 JSP、Thymeleaf、 JSP 和 FreeMaker 等。 
  • Spring MVC 基于原生的 Servlet 实现,通过功能强大的前端控制器 DispatcherServlet,对请求和响应进行统一处理;
  • Spring MVC 对表示层各细分领域需要解决的问题全方位覆盖,并提供一整套全面的解决方案;
  • 代码清新简洁,大幅度提升开发效率;
  • 内部组件化程度高,可插拔式组件即插即用,想要使用什么功能,配置相应组件即可;
  • 性能卓著,尤其适合现代大型、超大型互联网项目的开发。

标签:Web,请求,框架,SpringMVC,Spring,什么,MVC,Model
From: https://www.cnblogs.com/1011-zslnb/p/17800921.html

相关文章

  • SpringMVC
    1.SpringMVC:特点1.1:基于MVC架构1.2:容易理解,上手快,使用简单1.3:方便与Spring整合1.4:SpringMVC强化注解的使用,控制层(Controller)@Controller2.第一个SpringMVC注解的程序的创建和使用注解式开发:在代码中通过类与方法的注解,完成处理2.1:创建项目,添加jar2.2:配置注册中央控制器(中央调度......
  • 7年经验之谈 —— 什么是模糊测试?
    背景:近年来,随着信息技术的发展,各种新型自动化测试技术如雨后春笋般出现。其中,模糊测试(fuzztesting)技术开始受到行业关注,它尤其适用于发现未知的、隐蔽性较强的底层缺陷。这里,我们将结合AFL开源工具,对模糊测试的基本概念和流程进行说明。01、模糊测试的定义模糊测试的核心思想是......
  • [转载]什么是幂等?如何解决幂等性问题?
     什么是幂等性幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状......
  • SpringBoot中,为什么不直接使用一个Service写功能,而是Service接口+ServiceImpl实现类?
    当项目比较简单的时候,需求明确,变更不频繁或者几乎不怎么修改的时候,用第一种就好了当项目比较复杂,需求变更多的时候,用第二种比较好service层=service接口+serviceImpl实现类这种方式好处:1、解耦合2、便于扩展例如:publicinterfaceHumanService{StringgetName();}@Serv......
  • CRM中的大客户销售是什么?
     对企业来说,大客户可能贡献了大部分的销售业绩。什么样的客户可以被认定为是大客户?大客户销售与普通销售有何区别?针对大客户又该采取什么样的销售策略呢?从回答这几个问题开始,我们来说说CRM中的大客户销售是什么?当企业认定客户潜在价值较高时,会给予这类高价值客户更多关注。在......
  • 大中小企业对CRM系统的需求有什么区别?
     在以前,CRM客户管理系统是大型企业的专属。如今,不论何种规模的企业都能够使用CRM系统。市面上的CRM有着丰富的功能类型,管理者可以从企业自身规模出发,选择适合的CRM系统。下面说说,大中小企业对CRM系统的需求。一句话总结,中小企业和大型企业在CRM系统需求的不同主要体现在三个方......
  • 【面试题】你理解中JS难理解的基本概念是什么?
    作用域与闭包作用域作用域是当前的执行上下文,值和表达式在其中“可见”或可被访问。如果一个变量或表达式不在当前的作用域中,那么它是不可用的。作用域也可以堆叠成层次结构,子作用域可以访问父作用域,反过来则不行。————MDN作用域最重要的特点是:子作用域可以访问父作用域,反之则......
  • glibc 是什么?
     001、c运行库. linux系统中最低成的API(应用程序接口),几乎其它任何运行库都会依赖与glibc.glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一......
  • Dockerfile中'COPY'和'ADD'命令的区别是什么?
    内容来自DOChttps://q.houxu6.top/?s=Dockerfile中'COPY'和'ADD'命令的区别是什么?Dockerfile中COPY和ADD命令的区别是什么,以及何时使用其中一个而不是另一个?COPY<src><dest>COPY指令将从<src>复制新文件,并将它们添加到容器的文件系统路径<dest>。ADD<src><dest>......
  • Springmvc的学习
    1.SpringMVC1.1:基于MVC架构1.2:容易理解,上手快,使用简单1.3:方便与Spring整合1.4:SpringMVC强化注解的使用,控制层(Controller)@Controller2.第一个SpringMVC注解的程序的创建和使用注解式开发:在代码中通过类与方法的注解,完成处理2.1:创建项目,添加jar2.2:配置注册中央控制器(中央调度......