SpringMVC起步(一)
SpringMVC起步(一)
笔记来源于慕课网:https://www.imooc.com/video/7126/0
MVC:Model-View-Controller
Model:模型层,业务数据的信息表示,关注支撑业务的信息构成,通常是多个业务实体的组合

View:视图层,为用户提供UI。重点关注数据的呈现
Controller:控制层,调用业务逻辑产生合适的数据(Model);传递数据给视图层用于呈现
注:Controller连接Model & View 起到桥梁作用
MVC的本质:MVC的核心思想是业务数据抽取同业务数据呈现相分离

1、用户端的请求通过Http协议到达前端控制器Front Controller
2、前端控制器分发请求到控制器Controller
3、控制器处理业务逻辑,生成业务数据,并将业务数据返回给前端控制器Front Controller
4、前端控制器将业务数据分发给对应的业务视图,由业务视图最终呈现前端页面
5、呈现好的前端页面返回给前端控制器
6、前端控制器将前端页面最终返回给浏览器端,此时用户即可看到请求页面。
注:什么是前端控制器
可将前端控制器比喻为医院的分诊台

MVC概要:
1、什么是MVC
MVC是一种架构模式:程序分层,分工合作,既相互独立,又协同工作
MVC是一种思考方式:需要将什么信息展示给用户?(M层)如何布局?(V层)调用哪些业务逻辑?(C层)
2、SpringMVC静态概念
(1)。DispatcherServlet:SpringMVC前端控制器,用于分发请求到Controller及页面呈现
(2)。Controller:调用业务逻辑生成Model
(3)。HandlerAdapter:

(4)。HandlerInterceptor:拦截器
【1】afterCompletion
【2】postHandle
【3】preHandle
(5)。HandlerMapping:控制DispatcherServlet请求到来需要调用哪一个Controller
(6)。HandlerExcecutionChain:
HandlerMapping返回东西包含如下,它们之间构成一个链条。


(6)。ModelAndView:Model的具体表现

(7)。ViewResolver:视图解析器
帮助DispatcherServlet找到正确的视图页面
(8)。View:负责呈现页面
3、SpringMVC动态概念


SpringMVC起步(一)的更多相关文章
- SpringMVC起步
SpringMVC: SpringMVC是Spring的一个组件,作为控制器,可以替代Servlet SpringMVC的开发过程: 请求发送 DispatcherServlet查询一个或多个Hand ...
- SpringMVC 入门
MVC 简介 1.MVC 是一种架构模式 程序分层,分工合作,既相互独立,又协同工作,分为三层:模型层.视图层和控制层 2.MVC 是一种思考方式 View:视图层,为用户提供UI,重点关注数据的呈现 ...
- SpringMVC的一点理解
1.MVC(Model-View-Controller) 用慕课网上的一个图来看看MVC Front Controller(前端控制器):把客户的请求分发给不同的控制器去生成业务数据,将生成的业务数据 ...
- springMVC+Hibernate4+spring整合实例二(实例代码部分)
UserController.java 代码: package com.edw.controller; import java.io.IOException; import java.io.Print ...
- sts 创建springMVC项目---- maven和tomcat 错误处理
今天学习spring的时候,学到了springMVC, 因为springMVC 就是beginning spring 书籍的第三章,为了更深入或更简单的起步学习springMVC, 我又找了另外一本书 ...
- SpringMVC的概念和图解
1.概念 Spring MVC起步:慕课网视频 SpringMVC架构浅析:参考 Spring详解(一)------概述 Spring架构简单描述 2.图片
- Spring+SpringMVC+MyBatis+easyUI整合进阶篇(七)一次线上Mysql数据库崩溃事故的记录
作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 文章简介 工作这几年,技术栈在不断更新,项目管理心得也增加了不少,写 ...
- SpringBoot初体验之整合SpringMVC
作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...
- SpringBoot+SpringMVC+MyBatis快速整合搭建
作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...
随机推荐
- First one Day(哈哈哈哈)
今天是我来到园子的第一天,后序会分享一些自己所学的知识(当然我知道没人看,但是我自己看就好).哈哈哈哈哈 请大家多多关照!
- C 调试 gdb常用命令
gdb常用命令: [root@redhat home]#gdb 调试文件:启动gdb (gdb) l :(字母l)从第一行开始列出源码 (gdb) break n :在第n行处设置断点 (gdb) b ...
- Django中使用djangorestframework产生Token
修改settings.py: INSTALLED_APPS添加rest_framework 产生Token from rest_framework.authtoken.models import To ...
- 四、绑定SignaIR的用户管理
一.用户分组(第一个默认我的好友,禁删和更改) 没有分组id,更改layim代码: 更改id即可. layui.define('jquery', function (exports) { " ...
- 021-制作OpenStack镜像官方文档
可参考官方文档:https://docs.openstack.org/image-guide/ 制作centos7 :https://docs.openstack.org/image-guide/ce ...
- js 调试接口
在我们做完前端的工作后,很多情况下需要把我们的数据与后端得接口进行对接,说以我们就得掌握调试接口的方法 一.建立对象数组(一般是后端的工作) 代码如下: [ {"name":&qu ...
- BZOJ1896 Equations 线性规划+半平面交+三分
题意简述 给你\(3\)个数组\(a_i\),\(b_i\)和\(c_i\),让你维护一个数组\(x_i\),共\(m\)组询问,每次给定两个数\(s\),\(t\),使得 \[ \sum_i a_i ...
- 大数阶乘(N! Plus)问题
解题思路 将正整数N从1到N逐位相乘,即1 * 2 * 3...... * (N-1) * N.每次相乘后的值会存储到array[]中,其中一个数组元素存储值中的一位数.当值小于10时直接存储,值大于 ...
- 文件/大文件上传功能实现(JS+PHP)全过程
PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...
- 2017南宁网络赛 Problem J Minimum Distance in a Star Graph ( 模拟 )
题意 : 乱七八糟说了一大堆,实际上就是问你从一个序列到另个序列最少经过多少步的变化,每一次变化只能取序列的任意一个元素去和首元素互换 分析 : 由于只能和第一个元素去互换这种操作,所以没啥最优的特别 ...