一、什么是springmvc

  springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合;

  springmvc是一个基于mvc的web框架

  

二、mvc设计模式在b/s系统下应用

  

  

    1)用户发起request请求至控制器(Controller)

       控制接收用户请求的数据,委托给模型进行处理

    2)控制器通过模型(Model)处理数据并得到处理结果

          模型通常是指业务逻辑

    3)模型处理结果返回给控制器

    4)控制器将模型数据在视图(View)中展示web中模型无法将数据直接在视图上显示,

       需要通过控制器完成。 如果在C/S应用中模型是可以将数据在视图中展示的

    5)控制器将视图response响应给用户

          通过视图展示给用户要的数据或处理结果

三、spring web mvc架构

  

  ⦁ 架构流程

    1)用户发送请求至前端控制器DispatcherServlet

    2)DispatcherServlet收到请求调用HandlerMapping处理器映射器。

    3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)

       一并返回给DispatcherServle

    4)DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

    5)执行处理器(Controller,也叫后端控制器)

    6)Controller执行完成返回ModelAndView

    7) HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet

    8) DispatcherServlet将ModelAndView传给ViewReslover视图解析器

    9) ViewReslover解析后返回具体View

    10) DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)

    11)DispatcherServlet响应用户

  ⦁ 组件说明(以下组件通常使用框架提供实现)

    1)DispatcherServlet:前端控制器

       用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,

       由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性

    2) HandlerMapping:处理器映射器

        HandlerMapping负责根据用户请求找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,

        例如:配置文件方式,实现接口方式,注解方式等

    3)Handler:处理器

          Handler 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下

       Handler对具体的用户请求进行处理。由于Handler涉及到具体的用户业务请求,所以一般情况

       需要程序员根据业务需求开发Handler

    4) HandlAdapter:处理器适配器  

       通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对

       更多类型的处理器进行执行

    5)View Resolver:视图解析器

       View Resolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理

       视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。

       springmvc框架提供了很多的View视图类型,包括:jstlView、freemarkerView、pdfView等;

          一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由

       程序员根据业务需求开发具体的页面

  

淘淘商城之spring web mvc架构的更多相关文章

  1. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework中的spring web MVC模块

    spring framework中的spring web MVC模块 1.概述 spring web mvc是spring框架中的一个模块 spring web mvc实现了web的MVC架构模式,可 ...

  2. 1.Spring Web MVC有什么

    Spring Web MVC使用了MVC架构模式的思想,将web层进行职责解耦. 同样也是基于请求驱动的,也就是使用请求-响应模型.它主要包含如下组件: DispatcherServlet :前端控制 ...

  3. Spring REST实践之Spring Web MVC

    Spring概要 Spring Framework提供了依赖注入模型和面向切面编程,简化了基础型代码的编写工作以及更好的能够与其它框架和技术整合起来.Spring Framework由data acc ...

  4. 菜鸟学习Spring Web MVC之一

    ---恢复内容开始--- 当当当!!沉寂两日,学习Spring Web MVC去了.吐槽:近日跟同行探讨了下,前端攻城师,左肩担着设计师绘图,右肩担着JAVA代码?!我虽设计过UI,但这只算是PS技巧 ...

  5. Unit03: Spring Web MVC简介 、 基于XML配置的MVC应用 、 基于注解配置的MVC应用

    Unit03: Spring Web MVC简介 . 基于XML配置的MVC应用 . 基于注解配置的MVC应用 springmvc (1)springmvc是什么? 是一个mvc框架,用来简化基于mv ...

  6. 菜鸟学习Spring Web MVC之二

    有文章从结构上详细讲解了Spring Web MVC,我个菜鸟就不引据来讲了.说说强悍的XP环境如何配置运行环境~~ 最后我配好的环境Tomcat.Spring Tool Suites.Maven目前 ...

  7. 4.Spring Web MVC处理请求的流程

  8. Spring Boot——2分钟构建spring web mvc REST风格HelloWorld

    之前有一篇<5分钟构建spring web mvc REST风格HelloWorld>介绍了普通方式开发spring web mvc web service.接下来看看使用spring b ...

  9. Features of Spring Web MVC

    21.1.1 Features of Spring Web MVC Spring Web Flow Spring Web Flow (SWF) aims to be the best solution ...

随机推荐

  1. shell of leetcode

    1.Tenth Line How would you print just the 10th line of a file? For example, assume that file.txt has ...

  2. hive web界面管理

    老版本使用 访问<Hive Server Address>:9999/hwi 1.首先下载对应版本的src文件,本机使用apache-hive-1.2.2-src.tar.gz 2.解压缩 ...

  3. HAProxy+keepalived+MySQL 实现MHA中slave集群负载均衡的高可用

    HAProxy+keepalived+MySQL实现MHA中slave集群的负载均衡的高可用 Ip地址划分: 240    mysql_b2 242    mysql_b1 247    haprox ...

  4. [代码]Delphi实现窗体内嵌其他应用程序窗体

    实现原理是启动一个应用程序,通过ProcessID得到窗体句柄,然后对其设定父窗体句柄为本程序某控件句柄(本例是窗体内一个Panel的句柄),这样就达成了内嵌的效果. 本文实现的是内嵌一个记事本程序, ...

  5. jquery 語法

    基本形式: $(selector).action() 文檔加載函數: $(document).Ready{ function(){ //將所有的函數寫到文檔加載函數里,可以防止頁面未加載完全,就執行j ...

  6. Lucene最重要的功能是对一段话的分析

    Lucene最重要的功能是对一段话的分析

  7. [ctsc2018] 混合果汁 【可持久化线段树】【二分答案】

    题目分析 首先考虑到最小值最大,二分答案.假设答案为k,显然这满足单调性.如果某个k使得这个情况下选不出.那么比k大的一定也选不出,所以二分答案. 接着我们可以贪心,当我们确认了k以后,一定会优先选费 ...

  8. Dining POJ - 3281

    题意: f个食物,d杯饮料,每个牛都有想吃的食物和想喝的饮料,但食物和饮料每个只有一份 求最多能满足多少头牛.... 解析: 一道简单的无源汇拆点最大流   无源汇的一个最大流,先建立超级源s和超级汇 ...

  9. day21 re模块

    引入方式 import re 方法 .findall() 找所有的,返回所有的结果然后放在列表中 ret = re.findall("[a-z]+","yangtuo t ...

  10. 自学Linux Shell2.1-进入shell命令行

    点击返回 自学Linux命令行与Shell脚本之路 2.1-进入shell命令行 进入文本命令行界面(CLI)两种方法: 控制台终端 图形化终端 1. 通过Linux控制台终端访问CLI 按下Ctrl ...