Spring MVC 介绍

Spring MVC(Spring Web MVC)是 Spring Framework 提供的 Web 组件,它的实现基于 MVC 的设计模式:Controller(控制层)、Model(模型层)、View(视图层),提供了前端路由映射、视图解析等功能,让 Java Web 开发变得更加简单,也属于 Java 开发中必须要掌握的热门框架。

执行流程

Spring MVC 的执行流程如下:

  1. 客户端发送请求至前端控制器(DispatcherServlet)
  2. 前端控制器根据请求路径,进入对应的处理器
  3. 处理器调用相应的业务方法
  4. 处理器获取到相应的业务数据
  5. 处理器把组装好的数据交还给前端控制器
  6. 前端控制器将获取的 ModelAndView 对象传给视图解析器(ViewResolver)
  7. 前端控制器获取到解析好的页面数据
  8. 前端控制器将解析好的页面返回给客户端

流程如下图所示:

核心组件

Spring MVC 的核心组件如下列表所示:

  1. DispatcherServlet:核心处理器(也叫前端控制器),负责调度其他组件的执行,可降低不同组件之间的耦合性,是整个 Spring MVC 的核心模块。
  2. Handler:处理器&

第 6-2 课:SpringMVC 核心 + 面试题相关推荐

  1. 31 道 Java 核心面试题,统统打包给你!

    作者 | 沉默王二 来源 | 沉默王二 责编 | 王晓曼 二哥,你好,找工作找了仨月,还没有找到,很焦虑,我该怎么办呢?你那有没有 Java 方面的面试题可以分享一波啊? 以上是读者田田给我发的私信, ...

  2. SpringMVC深度探险 —— SpringMVC核心配置文件详解

    在上一篇文章中,我们从DispatcherServlet谈起,最终为读者详细分析了SpringMVC的初始化主线的全部过程.整个初始化主线的研究,其实始终围绕着DispatcherServlet.We ...

  3. spring源码分析第四天------springmvc核心原理及源码分析

    spring源码分析第四天------springmvc核心原理及源码分析 1.基础知识普及 2. SpringMVC请求流程 3.SpringMVC代码流程 4.springMVC源码分析 4.1 ...

  4. SpringMVC核心知识的梳理(现在都用SpringBoot了,但是SpringMVC还的学的扎实点,饮水思源)

    目录 前言: 一.Spring MVC的工作流程 二.Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么解决? 三.常用注解 1.注解原理是什么 2.Spring MVC常用的注解有 ...

  5. 万字长文,62道Java核心面试题,一次性打包送给积极向上的你

    先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员. 本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...

  6. SpringMVC常见面试题总结(超详细回答)

    1.什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,C ...

  7. 第 6-1 课:Spring 核心 + 面试题

    Spring Framework 简称 Spring,是 Java 开发中最常用的框架,地位仅次于 Java API,就连近几年比较流行的微服务框架 SpringBoot,也是基于 Spring 实现 ...

  8. 第 6-3 课:SpringBoot 核心 + 面试题

    为什么要用 Spring Boot? Spring Boot 来自于 Spring 大家族,是 Spring 官方团队(Pivotal 团队)提供的全新框架,它的诞生解决了 Spring 框架使用较为 ...

  9. 第 6-5 课:MyBatis 核心和面试题(下)

    MyBatis 最初的设计是基于 XML 配置文件的,但随着 Java 的发展(Java 1.5 开始引入注解)和 MyBatis 自身的迭代升级,终于在 MyBatis 3 之后就开始支持基于注解的 ...

最新文章

  1. 零基础Java学习之成员变量
  2. 后台定时给页面发送数据_苹果CMS10全自动定时采集教程
  3. 各种梯度下降 bgd sgd mbgd adam
  4. linux——文件权限的更改与管理
  5. Android监听button按钮的click事件
  6. NSUserDefaults的一些用法
  7. java定义计算机类并模拟其操作
  8. Linux Crontab 定时任务 及 Ubuntu 中cron指令使用
  9. easyUI自带的时间插件日期选择、月份选择、时间选择的使用(转)
  10. Qt5 开发 iOS 应用之访问 SQLite 数据库
  11. 崚 不能被 iconv(gb2312,utf-8 ,string)
  12. qq音乐网络异常获取音乐失败_qq音乐网络异常获取音频失败怎么办
  13. Java架构师发展之路
  14. 黑塞矩阵(海森矩阵,Hessian Matrix)与牛顿法最优化
  15. 2022年Java常用的框架汇总,你常用哪一个?
  16. atapi.sys 蓝屏 难度系数☆☆☆ ...
  17. 明翰英语教学系列之音标篇V0.2(持续更新)
  18. 苹果软件测试的电池损耗准确,苹果官方维修如何查看苹果iPhone电池损耗和寿命...
  19. 使用小波包变换分析信号的matlab程序,使用小波包变换分析信号的MATLAB程序
  20. Java 移除List中的元素,这玩意讲究!

热门文章

  1. 【SSM面向CRUD编程专栏 1】Spring简介 xml配置文件 依赖注入 数据注入
  2. 公司台湾主站的url重写
  3. 机器学习:样本集、验证集(开发集)、测试集
  4. 前端每日实战:34# 视频演示如何用纯 CSS 创作在文本前后穿梭的边框
  5. Linux学习第三步(Centos7安装mysql5.7数据库)
  6. 嵌入式linux面试题解析(四)——逻辑推理一
  7. C语言程序设计第三节课作业
  8. IntelliJ IDEA中文乱码解决办法
  9. uboot启动 及命令分析(3)
  10. 分析Linux文件rwx属性的含义