文章目录

  • 一、什么是MVC?
    • Model(模型)
    • View(视图)
    • Controller(控制器)
  • 二、SpringMVC是什么?
    • 1.官方文档地点
    • 2.DispatcherServlet(中心控制器)
  • 三、SpringMVC执行原理
  • 四、SpringMVC工作流程
    • Spring MVC 接口
  • 总结

一、什么是MVC?

  • MVC表示的是模型(Model)、视图、控制器,是通用软件设计规范之一。
  • MVC降低了试图和业务逻辑之间的双向耦合性。
  • mvc是将业务逻辑、项目数据、数据显示进行分离从而编写代码

Model(模型)

数据模型,提供要显示的数据,包含了数据以及行为,可认为是领域模型、pojo类或JavaBean的相关类(具有数据和行为)。现在都分开进行代码书写 Value Object(数据Dao) 和 服务层 (行为Service)。模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。

View(视图)

负责进行模型的展示,就是客户需要看到的东西。

Controller(控制器)

负责接收用户的各项请求,对模型进行处理,处理后将模型数据返回给视图,视图进行展示,相当于一个调度员。

常见的MVC是JSP(视图)+servlet(控制器)+javabean(模型)模式

二、SpringMVC是什么?

1.官方文档地点

Springmvc最新(5.3x)官方文档

  • Spring Web MVC 是最初建立在 Servlet API 之上的 Web 框架,从一开始就包含在 Spring Framework 中。正式名称“Spring Web MVC”来自其源模块的名称 ( spring-webmvc),但通常称为“Spring MVC”。

  • Spring MVC 与许多其他 Web 框架一样,是围绕前端控制器模式设计的,其中央Servlet,DispatcherServlet为请求处理提供共享算法,而实际工作由可配置的委托组件执行。该模型非常灵活,支持多种工作流程。

2.DispatcherServlet(中心控制器)

  • DispatcherServlet,因为任何Servlet,需要根据通过使用Java配置或在Servlet说明书中声明和映射web.xml。反过来,DispatcherServlet使用Spring配置文件来发现它需要请求映射,视图解析,异常处理,委托组件等功能

  • Spring MVC框架像许多其他MVC框架一样, 以请求为驱动 , 围绕一个中心Servlet分派请求及提供其他功能,DispatcherServlet是一个实际的Servlet (它继承自HttpServlet 基类)。

三、SpringMVC执行原理

  • Spring MVC框架像许多其他MVC框架一样, 以请求为驱动 , 围绕一个中心Servlet分派请求及提供其他功能,DispatcherServlet是一个实际的Servlet (它继承自HttpServlet 基类)。

四、SpringMVC工作流程

  • Spring MVC 框架主要由 DispatcherServlet、处理器映射、控制器、视图解析器、视图组成:

    Sring MVC 的工作流程如下:
  • 1.客户端请求提交到 DispatcherServlet。
  • 2.由 DispatcherServlet 控制器寻找一个或多个 HandlerMapping,找到处理请求的 Controller。
  • 3.DispatcherServlet 将请求提交到 Controller。
  • 4.Controller 调用业务逻辑处理后返回 ModelAndView。
  • 5.DispatcherServlet 寻找一个或多个 ViewResolver 视图解析器,找到 ModelAndView 指定的视图。
  • 6.视图负责将结果显示到客户端。

Spring MVC 接口

  • DispatcherServlet: 请求分发给 Controller 之前需要借助 Spring MVC 提供的 HandlerMapping 定位到具体的 Controller。

  • HandlerMapping:负责完成客户请求到 Controller 映射。

  • Controller :处理用户请求,一旦 Controller 处理完用户请求,将返回 ModelAndView 对象给 DispatcherServlet 前端控制器,ModelAndView 中包含了模型(Model)和视图(View)。

  • ViewResolver:在 Web 应用中负责查找 View 对象,从而将相应结果渲染给客户。


总结

听说这里又要写总结~~~~·(spring mvc相当重要!!!!)

Spring mvc介绍相关推荐

  1. 【MVC、Spring MVC介绍、区别、执行流程】

    介绍 MVC(Model-View-Controller)是一种软件架构模式,其中应用程序被划分为三个部分:模型(Model).视图(View)和控制器(Controller).MVC框架的主要目标是 ...

  2. Java之Spring mvc详解(非原创)

    文章大纲 一.Spring mvc介绍 二.Spring mvc代码实战 三.项目源码下载 四.参考文章 一.Spring mvc介绍 1. 什么是springmvc   springmvc是spri ...

  3. Spring MVC 学习总结(一)——MVC概要与环境配置 转载自【张果】博客

    Spring MVC 学习总结(一)--MVC概要与环境配置 目录 一.MVC概要 二.Spring MVC介绍 三.第一个Spring MVC 项目:Hello World 3.1.通过Maven新 ...

  4. java框架高频面试题2(Spring MVC面试题)

    目录 一.spring MVC介绍 二.什么是spring MVC? 三.介绍下Spring MVC的执行流程 总结:SpringMVC框架的总结(常用注解和三大重点) 常用注解 (1)RestCon ...

  5. 简述介绍Spring MVC 框架

    MVC模式是指Model-View-Controller(模式-视图-控制器)模式,是开发Web应用程序时常用的一种代码分层方式. 最典型的MVC就是jsp+servlet+javabean模式. J ...

  6. JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践

    任何时候,当要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情. 应用程序必须通过某种手段来确保输入参数在上下文来说是正确的. 分层的应用在很多时候,同样的数据验证逻辑会出现在不同的层, ...

  7. springmvc九:spring mvc 简单介绍

    1)spring 为展现层提供的基于mvc设计理念的优秀的web框架,是目前最主流的mvc框架之一. 2)spring mvc通过一套mvc注解,让pojo成为处理请求的控制器,而无需实现任何接口. ...

  8. Spring MVC 使用介绍(二)—— DispatcherServlet

    一.Hello World示例 1.引入依赖 <dependency><groupId>javax.servlet</groupId><artifactId& ...

  9. SSM(Spring+Spring MVC+Mybatis)整合 1:整体概述、目录内容及实验环境介绍

    文章目录 前言 一.概述 二.系列文章全目录 三.实验环境 总结 前言 通过本次 Java EE 三大框架(Spring.Spring MVC.MyBatis)原理.技术和方法的整合,大量的项目实践实 ...

最新文章

  1. linux查看crontab日志无权限,记一次LINUX-CRONTAB失败的排查案例
  2. 利用python进行识别相似图片(二)
  3. python—多线程定义和创建(一)
  4. python——初识python篇
  5. Python socket Ftp get put 简单实现
  6. javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册
  7. Spring Boot + Shiro 集成
  8. how is our custom css style inserted to html
  9. IOS开发基础之NSURLSession的使用
  10. 使用JDBCTemplate实现与Spring结合,方法公用
  11. 【原创】软件团队建设和管理--之我见
  12. urdf 学习笔记一
  13. vmware下安装mac os虚拟机问题,最后还是最终攻克了被一个小失误给陷害了
  14. 条件随机场、CBOW、word2vect、skip-gram、负采样、分层softmax(1)
  15. OBS录制的avi能够被imageJ打开吗?
  16. 《家财通》普及版序列号
  17. 安全红蓝对抗反制(反捕、画像)
  18. Java项目毕业设计:基于springboot+vue的电影视频网站系统
  19. iOS APP版本自动更新
  20. Robot Framework自动化测试教程-通过RIDE创建工程、测试套、测试用例、测试资源、变量文件,引入测试库

热门文章

  1. 怎么找到python的文件_python – 如何找到文件所在的挂载点?
  2. 【Flink】Flink 消费 kafka 实现 限流处理 RateLimiter
  3. 【kafka】Kafka Consumer 中的心跳线程有什么作用?
  4. 【Elasticsearch】Failed to process cluster event (put-mapping) within 30s
  5. 【Elasticsearch】如何使用 Elasticsearch 6.2 搜索中文、日语和韩语文本 - 第 3 部分:语言检测工具
  6. 【es】Elasticsearch:inverted index,doc_values及source
  7. 【kafka】Kafka JMX监控报错 Failed to get broker metrics for BrokerIdentity
  8. 【MySQL】MySQL SQL查询语法建议
  9. 60-300-024-使用-延迟数据-Flink中延时调用设计与实现
  10. Spring源码:ApplicationContextInitializer