文档章节

Spring MVC介绍

博为峰教研组
 博为峰教研组
发布于 2016/11/23 21:17
字数 419
阅读 21
收藏 1

我们知道MVC是一种经典的模式,把视图、控制器以及数据分开,解耦了各模块之间的关系。Spring Web MVC是基于Java实现的Web MVC设计模式,是一个请求驱动类型的轻量级Web框架,也就是借助MVC设计模式的思想,将web层进行各个职责模块解耦。基于请求驱动,指的是使用请求-响应模型。框架的目的就是封装接口,简化开发,Spring Web MVC也是要简化日常Web开发。

Spring MVC中,前端控制器是DispatcherServlet;应用控制器包括处理器映射器(Handler Mapping)进行处理器管理,以及视图解析器(View Resolver)进行视图管理;页面控制器/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类)。

请求具体执行步骤如下:

1、  发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理,并把请求委托给该控制器;

2、  页面控制器接收到请求后,进行功能处理,绑定请求参数到命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);

 3、  前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图,并把模型数据传入以便视图渲染;

 

4、  前端控制器将渲染后的视图返回给用户。

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
Spring 系列,第 3 部分: 进入 Spring MVC

在 Spring 系列 的第 3 部分中,我介绍 Spring MVC 框架。就像在以前的文章中一样,我用银行示例介绍如何建模和构建简单的应用程序。示例应用程序包含了已经学过的一些技术(例如依赖注入),...

qq58edf1d989a2d
06/26
0
0
【第2章 Spring快速入门】2.2 WEB应用之HelloWorld

上一节:【第2章 Spring快速入门】2.1 Java应用之HelloWorld 本章节主要介绍在WEB开发过程中,Spring是怎么使用的?上一节中我们已经讲到在普通的Java Project中如何使用Spring容器了,那么在...

陶邦仁
2015/07/07
0
0
spring MVC 静态资源处理

对于spring mvc的静态资源处理。 由于初期的时候对于spring MVC对于静态资源的处理并不是很好,如果将DispatcherServlet请求映射配置为"/",则springMVC则将捕获web容器所有请求,包括静态资...

bosscheng
2013/05/07
0
0
Spring MVC 到 Spring BOOT的简化之路

背景 从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷。但是Spring和Spring MVC的众多配置有时却让人望而却步,相信有过Spring MVC开发经验的朋友能深刻体会到这一痛苦。因为...

临江仙卜算子
05/09
0
0
Spring Boot干货系列: (四)开发Web应用之Thymeleaf篇

        前言   Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boot对Web开发的支持。   正文   Spring Boot提供了spring-boot-starter-web为Web开发予以支持,s...

后端编程嘟
2017/03/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
6
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
3
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
4
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部