一. 前言

  MVC不是框架而是一种设计模式。

  MVC的全名Model View Controller,即模型-视图-控制器的缩写,这是一种设计模式,而非架构。MVC它强制的使用应用程序的输入、处理、和输出分开,这三

个核心组件分别处理各自的的任务,最典型的MVC模式就是:jsp+servlet+javabean的模式。

  用户的请求通过servlet(controller、service、dao)处理后,通过将数据库的信息映射成对应的javabean,并将该数据在页面显示(view),这就是一个最基

本的MVC的模式。

  该设计模式的优点:

  1.降低的各模块之间的耦合性(如果视图层需要改变其代码,修改页面样式,就不涉及到controller和model层代码;如果需要修改业务逻辑,这个时候是不需要修

改与其相关的view视图代码等);

  2.重用性高:多个视图可以共享一个数据模型,比如pc端下单和移动端下单,虽然订购的方式不一样,但是处理该数据的方式都是一样的;

  3.可维护性高等优点。

  经典MVC的处理流程如下图:

二. 概述

  Spring MVC就是Spring框架的模块之一,与Spring无缝整合,通过MVC这种设计模式开发而来的一个前台框架。

三. 框架原理

大致流程:

  1、 用户发送请求,经过Spring MVC的前端控制器DispatcherServlet,然后DispatcherServlet将url交给处理器映射器HandlerMapping处理,处理完成后返回一

个HandlerExecutionChain对象(interceptor*,自己定义的Controller)

  2、 前端控制器拿到hec对象,将hec对象中的Controller交给处理器适配器处理HandlerAdapter,处理完成后返回ModelAndView对象

  3、 前端控制器拿到mv对象,通过视图解析器解析mv,过程就是将mv拆分的过程,将model数据渲染到view视图上

  4、 将view视图响应给用户

四. 详细流程

流程详述:

  1、用户发送请求至前端控制器DispatcherServlet

  2、DispatcherServlet收到请求调用HandlerMapping处理器映射器

  3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet

  4、DispatcherServlet调用HandlerAdapter处理器适配器

  5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)

  6、Controller执行完成返回ModelAndView

  7、HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet

  8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器

  9、ViewReslover解析后返回具体View

  10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)

  11、DispatcherServlet响应用户

springmvc概述及框架原理的更多相关文章

  1. SpringMVC系列(一)SpringMVC概述和搭建SpringMVC的第一个helloWord入门程序

    一.SpringMVC 概述 • Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一 • Spring3.0 后全面超越 Struts2,成为最优秀的 MVC ...

  2. SpringMVC听课笔记(一:SpringMVC概述)

    地址 :https://www.bilibili.com/video/av14907450 版本:4.x 概述: 概要: 一:SpringMVC概述 二:SpringMVC的 HelloWorld 三 ...

  3. SpringMVC 概述

    1. SpringMVC 概述 1) Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的MVC 框架之一 .MVC,M:model,模型层,指的是项目中的实体Ja ...

  4. SpringMVC——概述

    Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一 Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架 Spring MV ...

  5. SpringMVC(一) SpringMVC概述

    SpringMVC为展现层提供的基于MVC设计理念的优秀的WEB框架,是目前主流的MVC框架之一.Spring 3.0之后,超越Struts2成为最优秀的MVC框架. SpringMVC通过一套MVC ...

  6. SpringMVC概述

    1. SpringMVC是什么 SpringMVC 是 Spring 框架内置的 MVC 的实现.SpringMVC 就是一个 Spring 内置的 MVC 子框架 Spring 子框架:意味着 Sp ...

  7. SpringMVC—概述

    mvc容器的实例化: http://blog.csdn.net/lin_shi_cheng/article/details/50686876 Spring的启动过程: 1: 对于一个web应用,其部署 ...

  8. 1.SpringMVC 概述

    SpringMVC 简介 SpringMVC 也叫 Spring web mvc ,属于表现层的框架.SpringMVC 是 Spring框架的一部分,是在Spring3.0后发布的 第一个Sprin ...

  9. 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_05.入门程序之入门代码编写

    先把默认的index.jsp删掉.默认的index.jsp没有jsp的声明 ok webapp文件夹下new一个 起名叫做index.新建的页面有jsp的头 创建控制器类 java下新建一个class ...

随机推荐

  1. [VS2010搭建汇编开发环境win32和x64]

    场景: 1. 虽然使用MASM32也可以编译运行汇编程序,但是既然装了VS2010,它也能支持编译运行汇编吧.不然微软的开发人员难道还不用vs写汇编程序了? http://www.masm32.com ...

  2. java字符编码转换

    在开发的过程中.字符编码经常令我们头痛.经常会出现各种各样的乱码.以下就介绍java的编码转换和常见的乱码是使用什么样的编码去读取的: 先看一张图片: watermark/2/text/aHR0cDo ...

  3. windows vs2017环境下编译webkit

    源码地址:https://github.com/BlzFans/wke 先看官方的说明: Web和Flash的嵌入式3D游戏,基于WebKit 建筑工作单元 VS2005: 1安装Visual Stu ...

  4. Java程序猿的JavaScript学习笔记(1——理念)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  5. yii源码二 -- interfaces

    path:framework/base/interfaces.php overview:This file contains core interfaces for Yii framework. in ...

  6. ArcGIS鼠标滚轮方向之ArcMap篇

    ArcMap中地图缩放滚轮方向与我们常用的AutoCAD.在线地图等相反.ArcMap默认滚轮向上缩小,向下放大,曾经引起过多位用户的不满.好在ArcMap提供个性化设置. 打开ArcMap菜单栏-自 ...

  7. vdp介绍

    In the new vSphere 5.1, there is a missing component replaced by a new one: VMware Data Recovery (VD ...

  8. 用 bottle.py 写了个简单的升级包上传

    可以当作一个 demo 来玩吧,在这里分享一下.里面涉及的内容包含了文件上传,cookie 设置和读取,重定向(redirect). from bottle import run, post, get ...

  9. vue key

    有相同父元素的子元素必须有独特的 key.重复的 key 会造成渲染错误. <ul> <li v-for="item in items" :key="i ...

  10. Flink官网文档翻译

    http://ifeve.com/flink-quick-start/ http://vinoyang.com/2016/05/02/flink-concepts/ http://wuchong.me ...