传统原生的JSP+Servlet在开发上过程上虽然简单明了,JSP页面传递数据到Servlet,Servlet整理数据(逻辑开发)或者从数据库提取数据接着再转发到JSP页面上,但是其似乎只能止步于此,我们都知道我们request和response都依赖于url,当我们想要通过针对围绕url进行编程的话单纯的JSP+Servlet在实现上只有过滤器Filter在抵达相对应的Servlet之前起作用,但是如果我们想要在Servlet转发或者重定向之后再进行一些工作呢?一个url对应一个Servlet,项目需求的url稍微复杂了一些,其相对应的Servlet的数量将十分庞大,诸多问题,在这里便不多讲了,而这些问题,基本都在SpringMVC中得以解决。

  SpringMVC围绕着Servlet进行开发Web,代码的实现上同时也依赖Spring开发,不然也不会叫做SpringMVC,本文着重强调的重点在于SpringMVC的工作流程,并不设计具体代码开发,所以并不要求掌握Spring的知识

  1.从第一点开始,请求的开始当然来源的用户访问的url,之后SpringMVC的工作正式开始,就好比一个人进城,必须要先经过城门才能进去,请求也是一样,他必须先经过一个叫做Dispatcher Servlet的前端控制器,

  2.之后,你总要有工作地点吧(请求需要工作),可是不认路啊(请求需要在哪里被分析),所以你需要先去找到地图,然后在地图上找到地点,在SpringMVC中,从Dispatcher Servlet开始率先找到Handler Mapper,该组件映射找到工作点的老板(HandlerAdapter)。

  3.到这里我们仅仅是知道怎么找到工作点而已,而且路径是从城门(Dispatcher Servlet前端控制器)开始的,我们按照地图(HandlerMapper组件里面的信息)的指引找到了指使我们工作的HandlerAdapter。

  4.老板指使我们工作,此时我们化身为员工(Handler,也就是请求所对应的事件),我们工作的内容就控制层(也就是MVC中的C)下请求url所对应的方法,工作完成之后,我们需要提交工作数据呈现给老板看(返回ModelAndView对象给HandlerAdapter)

  5.之后老板把你的工作数据贴到城门上(将ModelAndView对象返回给DispatcherServlet),再经历一番修饰后呈现给来往的商人(用户)

  一个从大局上观看的基本流程大概就是如此,然而SpringMVC在具体的实现上远比这复杂许多,基本上在普通项目开发下我们在配置完SpringMVC要求配置环境后,所需要开发的地方就只有视图层和控制层,控制层里面的代码一般是有逻辑层和数据层的实现。

  下面是我用思维导图制作的流程,比文字看起来直观一些。

  

了解SpringMVC框架及基本工作流程相关推荐

  1. 【大数据入门笔记系列】第六节 分布式计算框架MapReduce的工作流程

    [大数据入门笔记系列]第六节 分布式计算框架MapReduce的工作流程 前言 MapReduce分布式运算 MapReduceApplication MapTask ReduceTask split ...

  2. mybatis+springMVC+spring原理及工作流程

    做自己没做过的事情叫做成长 做自己不愿做的事情叫做改变 做自己不敢做的事情叫做突破 共勉 引言 本人在学习ssm中,已经能熟练的编写配置文件与代码了.但于前几天朋友问其原理与工作流程时却只能答出一二, ...

  3. SpringMVC的简介和工作流程

    一.简介 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.Spri ...

  4. 17-爬虫之scrapy框架五大核心组件工作流程及下载中间件介绍04

    scrapy的五大核心组件 引擎(Scrapy) 对整个系统的数据流进行处理, 触发事务(框架核心). 调度器(Scheduler) 用来接受引擎发过来的请求. 由过滤器过滤重复的url并将其压入队列 ...

  5. Django框架MVT模型工作流程

    Django 一.Django介绍 Django是一个开源的Web应用框架,由Python写成.采用了MTV的框架模式,它最初是被用来做CMS(内容管理系统)软件. 使用Django,程序员可以方便. ...

  6. MapReduce 分布式计算框架 简介 特点 工作流程

    MapReduce 计算框架 一种分布式计算框架,解决海量数据的计算问题 MapReduce将整个并行计算过程抽象到两个函数 Map(映射):对一些独立元素组成的列表的每一个元素进行指定的操作,可以高 ...

  7. Hadoop三大框架之MapReduce工作流程

    一.MapReduce基础 MapReduce的思想核心是"分而治之",适用于大量复杂的任务处理场景(大规模数据处理场景). Map负责"分",把复杂的任务分解 ...

  8. Spring boot (6)---SpringMVC框架和spring Boot的区别

    SpringMVC框架和spring Boot的区别 1.我们知道Spring是一个一站式框架功能十分强大,就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是S ...

  9. Java框架之SpringMVC 05-拦截器-异常映射-Spring工作流程

    Java框架之SpringMVC 05-拦截器-异常映射-Spring工作流程 参考文章: (1)Java框架之SpringMVC 05-拦截器-异常映射-Spring工作流程 (2)https:// ...

  10. springmvc工作流程_SpringMVC工作原理

    买了好多书,但是没有一本是看完的,这是看完的第一本书,虽然页数不多.技术早就用了老多遍了,还是总结一下吧! 一.MVC模式 MVC是 model.view.和controller的缩写,分别代表web ...

最新文章

  1. 微软虚拟化解决方案课件
  2. 3409: [Usaco2009 Oct]Barn Echoes 牛棚回声
  3. 福州联通与市政府携手 共筑新型智慧城市
  4. BZOJ1298:[SCOI2009]骰子的学问
  5. C++中的三种智能指针分析(RAII思想)
  6. 帧差法matlab代码_【游戏流体力学基础及Unity代码(一)】热传导方程
  7. Linux中级之netfilter/iptables应用及补充
  8. ASP.NET 创建网站地图
  9. linux ubuntu软件中心,Ubuntu 20.04 将Ubuntu软件中心切换到Snap商店
  10. 什么是弱密码,如何避免
  11. vncserver 看不到桌面解决办法
  12. 【letex编辑输出】pdf文件嵌入字体embedded fonts的问题
  13. 华为云账号登录流程和方法
  14. 米的换算单位和公式_毫米和米的换算
  15. 《Vue.js实战》记录
  16. Office VBA也能任性截图(屏幕任意区域截图)
  17. A Persona-Based Neural Conversation Model论文
  18. 最最常用的26条Linus命令整理
  19. RabbitMQ-direct直通模式
  20. 数字孪生技术辅助山洪灾害预警与应急联动

热门文章

  1. 第八界中国云计算大会---简单回忆
  2. 编译原理完整学习笔记(六):语义分析和中间代码生成
  3. 【树上分块】【dfs序】2018沈阳网络赛 —— J题
  4. 物理常量/真空电容率/引力常量/真空磁导率/斯特潘-玻尔兹曼常量
  5. 简单的解决达梦数据库查询 dm.jdbc.driver.DmdbNClob@1064bb3e 问题
  6. java jpa 教程 查询_Spring Boot JPA 使用教程
  7. 攻防世界 web2 write up
  8. 使用python解决算法和数据结构--使用栈实现进制转换
  9. 第一百零六节,JavaScript变量作用域及内存
  10. Gym 100801D Distribution in Metagonia (数学思维题)