一、什么是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. SQL Server 常用函数使用方法(持续更新)

    之前就想要把一些 SQL 的常用函数记录下来,不过一直没有实行...嘿嘿... 直到今天用到substring()这个函数,C# 里面这个方法起始值是 0,而 SQL 里面起始值是 1.傻傻分不清楚. ...

  2. codeforces631B

    Print Check CodeForces - 631B Kris works in a large company "Blake Technologies". As a bes ...

  3. codeforces472B

    Design Tutorial: Learn from Life CodeForces - 472B One way to create a task is to learn from life. Y ...

  4. BZOJ1803Spoj1487 Query on a tree III——主席树

    题目大意 给一棵有点权的n个点的有根树,保证任意两点的点权不同,m次询问每次询问x的子树中权值第k大的点. 输入 先输入n,然后每个点点权,再输入n-1行每行两个数x,y代表x和y相连,再输入m,之后 ...

  5. BZOJ2159 Crash的文明世界(树形dp+斯特林数)

    根据组合意义,有nk=ΣC(n,i)*i!*S(k,i) (i=0~k),即将k个有标号球放进n个有标号盒子的方案数=在n个盒子中选i个将k个有标号球放入并且每个盒子至少有一个球. 回到本题,可以令f ...

  6. Js 百分比进度条

    [构想] CSS3 + JS CSS3控制进度 利用CSS3中的 @keyframes JS实现百分比 根据CSS来调整,时间 [页面代码] 第一种: 默认直接进入就是下载 CSS代码 body { ...

  7. Codeforces Round #426 (Div. 2) A,B,C

    A. The Useless Toy 题目链接:http://codeforces.com/contest/834/problem/A 思路: 水题 实现代码: #include<bits/st ...

  8. MT【208】埃尔米特恒等式

    设$S=\sum\limits_{k=1}^{+\infty}[\dfrac{116+3^{k-1}}{3^k}]\\T=\sum\limits_{k=1}^{+\infty}[\dfrac{116+ ...

  9. BUPT2017 wintertraining(15) #1 题解

    拖了一周才完成的题解,抛出一个可爱的表情 (っ'-')╮ =͟͟͞͞❤️.对我来说E.F比较难,都是线段树的题,有点久没写了. A - Infinite Sequence CodeForces - 6 ...

  10. springmvc源码解析MvcNamespaceHandler之<mvc:view-resolvers>

    说在前面 本次主要介绍springmvc配置解析. springmvc配置解析 本次介绍MvcNamespaceHandler. 进入到这个方法org.springframework.web.serv ...