Spring mvc介绍
文章目录
- 一、什么是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介绍相关推荐
- 【MVC、Spring MVC介绍、区别、执行流程】
介绍 MVC(Model-View-Controller)是一种软件架构模式,其中应用程序被划分为三个部分:模型(Model).视图(View)和控制器(Controller).MVC框架的主要目标是 ...
- Java之Spring mvc详解(非原创)
文章大纲 一.Spring mvc介绍 二.Spring mvc代码实战 三.项目源码下载 四.参考文章 一.Spring mvc介绍 1. 什么是springmvc springmvc是spri ...
- Spring MVC 学习总结(一)——MVC概要与环境配置 转载自【张果】博客
Spring MVC 学习总结(一)--MVC概要与环境配置 目录 一.MVC概要 二.Spring MVC介绍 三.第一个Spring MVC 项目:Hello World 3.1.通过Maven新 ...
- java框架高频面试题2(Spring MVC面试题)
目录 一.spring MVC介绍 二.什么是spring MVC? 三.介绍下Spring MVC的执行流程 总结:SpringMVC框架的总结(常用注解和三大重点) 常用注解 (1)RestCon ...
- 简述介绍Spring MVC 框架
MVC模式是指Model-View-Controller(模式-视图-控制器)模式,是开发Web应用程序时常用的一种代码分层方式. 最典型的MVC就是jsp+servlet+javabean模式. J ...
- JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践
任何时候,当要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情. 应用程序必须通过某种手段来确保输入参数在上下文来说是正确的. 分层的应用在很多时候,同样的数据验证逻辑会出现在不同的层, ...
- springmvc九:spring mvc 简单介绍
1)spring 为展现层提供的基于mvc设计理念的优秀的web框架,是目前最主流的mvc框架之一. 2)spring mvc通过一套mvc注解,让pojo成为处理请求的控制器,而无需实现任何接口. ...
- Spring MVC 使用介绍(二)—— DispatcherServlet
一.Hello World示例 1.引入依赖 <dependency><groupId>javax.servlet</groupId><artifactId& ...
- SSM(Spring+Spring MVC+Mybatis)整合 1:整体概述、目录内容及实验环境介绍
文章目录 前言 一.概述 二.系列文章全目录 三.实验环境 总结 前言 通过本次 Java EE 三大框架(Spring.Spring MVC.MyBatis)原理.技术和方法的整合,大量的项目实践实 ...
最新文章
- linux查看crontab日志无权限,记一次LINUX-CRONTAB失败的排查案例
- 利用python进行识别相似图片(二)
- python—多线程定义和创建(一)
- python——初识python篇
- Python socket Ftp get put 简单实现
- javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- Spring Boot + Shiro 集成
- how is our custom css style inserted to html
- IOS开发基础之NSURLSession的使用
- 使用JDBCTemplate实现与Spring结合,方法公用
- 【原创】软件团队建设和管理--之我见
- urdf 学习笔记一
- vmware下安装mac os虚拟机问题,最后还是最终攻克了被一个小失误给陷害了
- 条件随机场、CBOW、word2vect、skip-gram、负采样、分层softmax(1)
- OBS录制的avi能够被imageJ打开吗?
- 《家财通》普及版序列号
- 安全红蓝对抗反制(反捕、画像)
- Java项目毕业设计:基于springboot+vue的电影视频网站系统
- iOS APP版本自动更新
- Robot Framework自动化测试教程-通过RIDE创建工程、测试套、测试用例、测试资源、变量文件,引入测试库
热门文章
- 怎么找到python的文件_python – 如何找到文件所在的挂载点?
- 【Flink】Flink 消费 kafka 实现 限流处理 RateLimiter
- 【kafka】Kafka Consumer 中的心跳线程有什么作用?
- 【Elasticsearch】Failed to process cluster event (put-mapping) within 30s
- 【Elasticsearch】如何使用 Elasticsearch 6.2 搜索中文、日语和韩语文本 - 第 3 部分:语言检测工具
- 【es】Elasticsearch:inverted index,doc_values及source
- 【kafka】Kafka JMX监控报错 Failed to get broker metrics for BrokerIdentity
- 【MySQL】MySQL SQL查询语法建议
- 60-300-024-使用-延迟数据-Flink中延时调用设计与实现
- Spring源码:ApplicationContextInitializer