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 ...
随机推荐
- PAT Basic 1028 人口普查 (20 分)
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
- PAT Basic 1026 程序运行时间 (15 分)
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间.这个时间单位是 clock ...
- 03python面向对象编程1
1.创建和使用类 1.1 创建 Dog 类.根据 Dog 类创建的每个实例都将存储名字和年龄.我们赋予了每条小狗蹲下( sit() )和打滚( roll_over() )的能力: In [2]: cl ...
- evpp::buffer使用
evpp::Buffer testmsg; const char* buf123 = "12342333333333333333333333333323424324234234"; ...
- Dinic二分图匹配 || Luogu P3386
题面:[模板]二分图匹配 思路:Dinic实现二分图匹配,要建一个超级源点(S)和超级汇点(T),分别定为N+M+1和N+M+2 然后S去和N中的数建正边和反边,正边权值为1,反边权值为0:M中的数去 ...
- 你真的懂git rebase吗?
前段时间由于某种原因,开始接手开发公司前端Vue搭建的项目 该前端项目采用的是基于git rebase的形式去合并代码,而我之前使用git一直都是采用merge的形式合并分支代码,对于rebase一概 ...
- linux运维、架构之路-redis
一.redis介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis属于非关系型数据库和Memcached类似,redis也是一个key- ...
- php实现大视频上传
本人在2010年时使用swfupload为核心进行文件的批量上传的解决方案.见文章:WEB版一次选择多个文件进行批量上传(swfupload)的解决方案. 本人在2013年时使用plupload为核心 ...
- SpringBoot自定义FailureAnalyzer
官网说明 1.1 创建自己的 FailureAnalyzer FailureAnalyzer是一种在启动时拦截 exception 并将其转换为 human-readable 消息的好方法,包含在故障 ...
- window 连接服务器工具
Xshell xftp 下载网址 以上两个软件均免费, 只需要邮件激活即可. 其中 xshell 主要用来连接服务器,方便使用命令行.xftp 方便传输文件.