Spring MVC 入门(一)
什么是 Spring MVC
学习某一样东西之前,我们一定要大致知道这个东西是什么,能干什么,为什么要用它。
Spring MVC 是一个开源平台,一个基于 Spring 的 MVC 框架,它支持基于 Java 开发 Web 应用程序。MVC 架构很利于开发灵活、低耦合的 Web 应用程序组件。
M(Model)模型,应用程序的数据载体。通常是一些 POJO。
V(View)视图,用于渲染一些模型的数据,一般是用来生成用户浏览器的可以解释的HTML。
C(Controller)控制器,用于处理用户的请求并构建相应的模型,然后交给视图渲染。
Spring MVC的优点:
(1)使用简单;
(2)能够很容易的开发出性能很好的程序;
(3)灵活,易于扩展;
(4)具有 Spring 的一些特性;
(5)支持 REST 风格;
Spring MVC的缺点:
(1)很难脱离容器进行独立运行;
(2)需要编写一些对应的 web.xml配置;
Spring MVC 请求流程

(Spring MVC 请求处理流程)
上图流程涉及到的几个组件的功能说明:
DispatcherServlet(前端控制器):接收用户请求并返回请求结果。它控制着整个执行流程,对各个组件进行调度,降低组件之间的耦合,就像是一个团队的组织人。
HandlerMapping(处理器映射器):根据用户的请求 URL,根据 XML 配置或注解找到对应的处理器 Handler。
HandlerAdapter(处理器适配器):根据映射器找到的 Handler 完成调用处理器中的方法。
Handler(处理器):处理请求的主要逻辑,返回模型数据和视图。
ViewResolver(视图解析器):解析具体的视图。通过 ModelAndView 中的 View 将逻辑视图名解析为真正的 视图。
请求具体步骤如下:
1:客户端起请求,请求会被前端控制器(DispatcherServlet)拦截
2:前端控制器(DispatcherServlet)请求处理器映射器(HandlerMapping)查找Handler
3:处理器映射器(HandlerMapping)根据配置找到相应Handler,可能包含多个Interceptor拦截器,返回给前端控制器
4:前端控制器(DispatcherServlet)请求处理器适配器(HandlerAdapter)去执行相应的Handler
5:适配器交由对应Handler处理器执行
6: Handler处理器执行完成后返回ModelAndView对象给处理器适配器
7:处理器适配器接受Handler处理器的返回结果,并将该结果返回给前端控制器(DispatcherServlet)
8:前端控制器(DispatcherServlet)接收处理器适配器返回的数据和视图信息,请求视图解析器,解析对应的视图
9:视图解析器根据View信息匹配相应的视图结果,反回给前端控制器
10:前端控制器接收具体视图,进行视图渲染,将Model数据填充到View视图中,生成最终视图
11:前端控制器向客户端返回请求结果
Spring MVC 入门(一)的更多相关文章
- Spring MVC 入门教程示例 (一)
今天和大家分享下 Spring MVC 入门教程 首先还是从 HelloWorld web 工程开始 -------------------------- 1.首先创建一个Maven Web工程 ...
- Java基础-SSM之Spring MVC入门篇
Java基础-SSM之Spring MVC入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Spring MVC简介 1>.什么是Spring MVC 答:Sprin ...
- Spring框架学习(7)spring mvc入门
内容源自:spring mvc入门 一.spring mvc和spring的关系 spring mvc是spring框架提供的七层体系架构中的一个层,是spring框架的一部分,是spring用于处理 ...
- 【转】spring MVC入门示例(hello world demo)
部分内容来自网络:<第二章 Spring MVC入门 —— 跟开涛学SpringMVC > 1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web M ...
- SSM(spring mvc+spring+mybatis)学习路径——2-1、spring MVC入门
目录 2-1 Spring MVC起步 一.回顾Servlet 二.SpringMVC简介 三.搭建SpringMVC第一个案例 四.简单流程及配置 五.使用注解开发Controller 六.参数绑定 ...
- Spring MVC入门的实例
作为Spring MVC入门,以XML配置的方式为例.首先需要配置Web工程的web.xml文件. 代码清单14-1:web.xml配置Spring MVC <?xml version=&q ...
- Spring MVC入门
1.什么是SpringMvc Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 M ...
- 【Spring】简单的Spring MVC入门例子
前言 测试特性需要搭建一个简单的Spring MVC的例子,遂记录之,只是例子,只为入门者之示例. 版本说明 声明POM文件,指定需引入的JAR. <properties> <spr ...
- 1.【转】spring MVC入门示例(hello world demo)
1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于 ...
- Spring MVC 入门示例讲解
在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简 ...
随机推荐
- PCB MongoDB 监控
一个数据库监控工具是必不可少的,当然MongoDB安装自带监控啦. 这里将监控工具mongostat.exe与mongotop.exe使用与参数进行讲解说明. 一.监控工具说明: 二.监控工具启用 1 ...
- css的一些命名规范
网页制作中规范使用DIV+CSS命名规则,可以改善优化功效特别是团队合作时候可以提供合作制作效率,具体DIV CSS命名规则CSS命名大全内容篇. 常用DIV+CSS命名大全集合,即CSS命名规则 D ...
- PID204特种部队
特种部队 题目描述 Description 某特种部队接到一个任务,需要潜入一个仓库.该部队士兵分为两路,第一路士兵已经在正面牵制住了敌人,第二路士兵正在悄悄地从后方秘密潜入敌人的仓库.当他们到达 ...
- [Swift通天遁地]七、数据与安全-(9)文件的压缩和解压
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- SpringBoot集成Mybatis配置动态数据源
很多人在项目里边都会用到多个数据源,下面记录一次SpringBoot集成Mybatis配置多数据源的过程. pom.xml <?xml version="1.0" encod ...
- Android 签名(5)用命令签名和用android studio,eclipse签名
1,用命令签名 无论用哪个 IDE 开发,最终只是用了 keytool 和 jarsigner 这两个 Java 工具来完成签名任务(在 jdk 的 bin 目录下).其中 keytool 用来生成 ...
- [转]Linux下paste命令详解
转自:http://blog.csdn.net/andy572633/article/details/7214126 paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功 ...
- 【转】Linux下使用locale命令设置语言环境
转自:http://www.cnblogs.com/dolphi/p/3622570.html locale命令设置语言环境 在Linux中通过locale来设置程序运行的不同语言环境,locale由 ...
- Unity学习-摄像机的使用(六)
快速对齐摄像机 [选择摄像机-GameObject-Align With View] Game模板中显示的界面,就是摄像机拍摄后的画面 本次学习案例 添加一个地形,一个点光源,三个Cube 了解摄 ...
- React Native组件间通信
React Native组件间通信 React Native组件的关系有:父子关系.无直接关系.组件间通信主要针对这两类来讨论. 一.父组件和子组件之间通信 父组件向子组件传递消息.数据通过对子组件的 ...