谈谈你对 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)

SpringMVC - 谈谈你对SpringMVC的理解的更多相关文章

  1. SSM(SpringMVC+Spring+Mybatis)框架学习理解

    近期做到的项目中,用到的框架是SSM(SpringMVC+Spring+Mybatis).之前比较常见的是SSH.用到了自然得了解各部分的分工 spring mvc 是spring 处理web层请求的 ...

  2. SpringMVC生命周期,SpringMVC运行流流程

    SpringMVC详细运行流程图 SpringMVC运行原理 1. 客户端请求提交到DispatcherServlet2. 由DispatcherServlet控制器查询一个或多个HandlerMap ...

  3. springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定

    springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定 标签: springmvc springmvc学习笔记13-springmvc注解开发之集合类型參数绑定 数组绑定 需 ...

  4. SpringMVC之八:基于SpringMVC拦截器和注解实现controller中访问权限控制

    SpringMVC的拦截器HandlerInterceptorAdapter对应提供了三个preHandle,postHandle,afterCompletion方法. preHandle在业务处理器 ...

  5. SpringMvc基础知识(二) springmvc和mybatis整合

    1 springmvc和mybatis整合 1.1 需求 使用springmvc和mybatis完成商品列表查询. 1.2 整合思路 springmvc+mybaits的系统架构: 第一步:整合dao ...

  6. 1.SpringMvc--初识springmvc

    引自@精品唯居 springMvc是什么 springmvc是表现层的框架,是一个spring的表现层组件.是整个spring框架的一部分,但是也可以不使用springmvc.跟struts2框架功能 ...

  7. 谈谈嵌套for循环的理解

    谈谈嵌套for循环的理解     说for的嵌套,先说一下一个for循环的是怎么用的.      这次的目的是为了用for循环输出一个乘法口诀表,一下就是我的一步步理解.    一.   语法:   ...

  8. springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定

    springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定 标签: springmvc springmvc学习笔记12-springmvc注解开发之包装类型參数绑定 需求 实现方 ...

  9. (转)SpringMVC学习(十二)——SpringMVC中的拦截器

    http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter, ...

  10. springmvc学习笔记(10)-springmvc注解开发之商品改动功能

    springmvc学习笔记(10)-springmvc注解开发之商品改动功能 标签: springmvc springmvc学习笔记10-springmvc注解开发之商品改动功能 需求 开发mappe ...

随机推荐

  1. 覆盖全品类数据,腾讯云COS内容审核全新上线

    今年,国家网信办深入推进"清朗·春节网络环境"专项行动.截至3月24日,网信办共累计清理相关违法违规信息208万余条,处置账号7.2万余个,协调关闭.取消备案网站平台2300余家. ...

  2. 使用hub部署PaddleOCR

    使用hub部署PaddleOCR 概述 目前有一些处理证件照片.资质照片的业务需求,已经尝试过 llava-llama3​ 与 llama3.2-vision​,表现都不佳,要么不能正确 ocr 出文 ...

  3. 【微软】微软程序注册(zfile自建API)

    Zfile支持设置自己的回调地址,怎么设置呢? 参考:https://docs.zfile.vip/advanced/onedrive-api/ 上面文档写的很清楚了,我提醒两点 1.进入 https ...

  4. 【前端】CSS实现图片文字对齐 并随着设备尺寸改变而改变大小

    效果预览 HTML源码 点击查看HTML代码 <!DOCTYPE html> <html lang="zh-cn"> <head> <me ...

  5. swagger 文件上传以及requestbody参数传递

    swagger用来做普通的API测试很方便,在实际开发过程中,经常会有文件上传,或者通过reuestbody传递数据等方式. 这个时候swagger的配置就有一些特殊了 . swagger reque ...

  6. 3款.NET开源、功能强大的通讯调试工具,效率提升利器!

    前言 今天大姚给大家分享3款.NET开源.功能强大的通讯调试工具,帮助大家提高通讯调试的效率和准确性. LLCOM LLCOM是一个.NET开源的.功能强大的串口调试工具.支持Lua自动化处理.串口调 ...

  7. Android保活从入门到放弃:乖乖引导用户加白名单吧(附7大机型加白示例)

    1.引言 IM在Android上的保活问题经常在即时通讯网的论坛和技术群里被讨论,自从Android 8.0后系统大大降低了后台运行应用的保活容忍度(详见<Android P正式版即将到来:后台 ...

  8. 即时通讯技术文集(第19期):IM架构设计基础知识合集 [共13篇]

    为了更好地分类阅读 52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第19 期. [-1-] 微信后台基于时间序的新一代海量数据存储架构的设计实践 [链接] htt ...

  9. spark (四) RDD概念

    目录 1. RDD基本概念 1.1 弹性 1.2 分布式 1.3 数据集 1.4 数据抽象 1.5 不可变 1.6 可分区.并行计算 2. WordCount为例,看RDD特性 3. RDD的五大属性 ...

  10. Windows Terminal 智能提示

    安装PSReadLine Install-Module -Name PSReadLine -AllowClobber -Force 打开$profile notepad $profile 配置补全 在 ...