首页 > 其他分享 >SpringMVC - 谈谈你对SpringMVC的理解

SpringMVC - 谈谈你对SpringMVC的理解

时间:2024-01-22 20:56:14浏览次数:34  
标签:Web 控制器 SpringMVC Spring 理解 视图 谈谈 MVC DispatcherServlet

 

谈谈你对 Spring MVC 的理解?

普通人:Spring MVC 它是一个MVC框架吧,就是,我们可以使用Spring MVC来开发Web应用...呃 它是基于Servlet上的一个扩展,就是它里面我记得好像有一个核心控制器,叫DispatcherServlet,然后扩展了之后,就是所有请求都会经过那个...DispatcherServlet然后再做一个分发...呃...Spring MVC在开发MVC应用的时候,会更简单一些吧。嗯

高手的回答:好的,关于这个问题我会从几个方面来回答。首先,Spring MVC呢 是属于Spring Framework生态里面的一个模块,它是在Servlet的基础上构建并且使用了MVC模式设计的一个Web框架,它的主要目的呢 是为了去简化传统的Servlet+JSP模式下的Web开发方式,其次啊 Spring MVC的整个架构设计呢是对Java Web里面的MVC框架模式做了一些增量和扩展,主要体现的几个方面。

1、把传统MVC框架里面的Controller控制器做了拆分,分成了前端控制器DispatcherServlet后端控制器Controller

2、把Model模型拆分成业务层Service和数据访问层Repository

3、在视图层,可以支持不同的视图,比如Freemark、velocity、JSP等等

所以,Spring MVC天生就是为了MVC模式而设计的,因此在开发MVC应用的时候,会更加方便和灵活。

最后我再说一下Spring MVC的整体工作流程

(1)浏览器发送请求,首先会经过Spring MVC里面的核心控制器叫 DispatcherServlet

(2-3)它主要是把请求分发到对应的Controller里面,

(4-5)而Controller里面处理完业务逻辑之后呢,会返回一个ModelAndView

(6-7)然后DispatcherServlet会去寻找一个或者多个ViewResolver的视图解析器,找到ModelAndView指定的视图,并且把数据展示到客户端,以上就是我对Spring MVC的一个理解。

 

 

(END)

标签:Web,控制器,SpringMVC,Spring,理解,视图,谈谈,MVC,DispatcherServlet
From: https://www.cnblogs.com/houhuilinblogs/p/17981051

相关文章

  • spring自动装配的原理解析
    前言学习SpringBoot,绝对避不开自动装配这个概念,这也是SpringBoot的关键之一本人也是SpringBoot的初学者,下面的一些总结都是结合个人理解和实践得出的,如果有错误或者疏漏,请一定一定一定(不是欢迎,是一定)帮我指出,在评论区回复即可,一起学习!篇幅较长,希望你可以有耐心.如果只关心SpringBoo......
  • 一个例子形象的理解同步与异步
    请看一个示例:同步方式请求接口请求一次接口耗时大约100多毫秒代码一个for循环,循环500次,调用方法Reuest,Reuest方法中一个while(true)无限循环,同步方式请求url获取数据。代码点评:要是写一个while(true)没问题,这是是想运行500个while(true),这代码是错误的,行不通。应该使用Thread......
  • 各种自动化框架的重新理解和学习
    1.关键字驱动测试框架关键字驱动测试框架是一种自动化测试方法,它将测试用例设计和实际执行代码解耦。这种框架基于一种表格形式的描述(如Excel、CSV或特定格式的文本文件),其中每一行代表一个操作步骤,列中包含操作的关键字及其相关参数。在关键字驱动测试框架中,一般有以下......
  • 再回首之SpringMVC深入解析
    第1章:引言大家好,我是小黑,咱们今天来聊聊SpringMVC,SpringMVC其实是Spring的一个模块,专门用来构建Web应用程序。它提供了一种轻量级的方式来构建动态网页。就像小黑我刚开始接触Java时候一样,可能对这些听起来很高大上的东西有点迷茫。不过别担心,咱们一步步来解开SpringMVC的神......
  • 看如何理解老婆的脑回路2
    主要是重复,整理。本能有关对男性来说,维持婚姻的方法就是从女性出自母性本能的攻击之中保护自己。女性大脑出于自我保护的本能,而习惯性的容易打开消极的开关。尤其是周围存在比自己更加强大的人时更是如此。与其他哺乳动物相比,女性每次生产的后代数量很少,在育儿上总是会遇到“......
  • 0-1背包和完全背包,初级理解和总结
    0-1背包就是数组中元素只能取一个,完全背包就是数组中的元素能无限取。最开始接触的就是纯粹的背包问题,就是怎么装是背包价值最大,二维数组,if(j<weight[i])dp[i][j]=dp[i-1][j];elsedp[i][j]=max(dp[i-1][j],dp[i-1][j-weight[i]]+value[i]);一维数组,dp[j......
  • 深入理解 Flink(一)Flink 架构设计原理
    大数据分布式计算引擎设计实现剖析MapReduceMapReduce执行引擎解析MapReduce的组件设计实现图Spark执行引擎解析Spark相比于RM的真正优势的地方在哪里:(Simple、Fast、Scalable、Unified)DAG引擎中间计算结果可以进行内存持久化基于内存计算(不完全对,确切地说是把数据都加载(从内......
  • 正确理解springboot国际化简易运行流程
    看源码可以看出–》大致原理localeResolver国际化视图(默认的就是根据请求头带来的区域信息获取Locale进行国际化)返回的本地解析是根据响应头来决定的)接着按住ctrl点localeresolver可知localeresolver是一个接口于是有了这些我们只需通过继承LocaleResolver来自定义我们自己的Loca......
  • SpringMVC常用注解
    探索SpringMVC常用注解SpringMVC是一个用于构建Web应用程序的框架,它提供了丰富的注解来简化开发过程。在这篇文章中,我们将深入了解一些常用的SpringMVC注解,从它们的起因到实际应用。起因Web应用程序的开发涉及到处理HTTP请求和响应,传统的方式通常需要编写大量的XML配置和复杂的......
  • 对于《程序是怎样跑起来的》我的理解
    首先,作者从计算机的硬件组成和指令集体系结构讲起,让我成功地理解了CPU、内存、硬盘等组件的工作原理。通过生动的图解和示例,我逐渐明白了计算机是如何将二进制代码转换成可执行的指令,以及这些指令是如何驱动程序运行的。其次,书中详细介绍了函数调用机制和数组的使用。作者通过丰......