SpringMVC工作流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kcR4LiKt-1676986517030)(D:\文档-xun\应聘\百日维新\png\springMVC工作流程.png)]

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

2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;

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

4)DispatcherServlet 调用 HandlerAdapter处理器适配器;

5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);

6)Handler执行完成返回ModelAndView;

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

8)DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;

9)ViewResolver解析后返回具体View;

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

11)DispatcherServlet响应用户。

SpringMVC的主要组件

1)前端控制器 DispatcherServlet(不需要程序员开发)作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。

2)处理器映射器HandlerMapping(不需要程序员开发)作用:根据请求的URL来查找Handler

3)处理器适配器HandlerAdapter 注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。

4)处理器Handler(需要程序员开发)

5)视图解析器 ViewResolver(不需要程序员开发)作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view)

员开发)作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view)

6)视图View(需要程序员开发jsp)View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)

6.SpringMVC相关推荐

  1. 【SpringMVC】概述

    概述: SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的.                       理解是servlet的一个升级 Sp ...

  2. 【SpringMVC】基本概念

    SpringMVC的基本概念 三层架构 我们的开发一般都是基于c/s或者b/s架构.在JavaEE开发中,几乎全都是基于B/S架构开发.在B/S架构中,系统标准的三层架构包括:表现层,业务层,持久层. ...

  3. SSM框架整合(Spring+SpringMVC+MyBatis)

    输出结果 1.Maven Web项目创建 之前有写过Eclipse+Maven创建web项目的帖子,如果需要,请参考这里写链接内容 创建好项目之后因为入下图: 2.SSM整合 2.1 引入需要的JAR ...

  4. SpringBoot-web开发(四): SpringMVC的拓展、接管(源码分析)

    [SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) SpringBo ...

  5. SpringMVC——通俗易懂讲讲Ajax~

    聊聊Ajax 一.什么是Ajax 二.iframe标签简单伪造Ajax 三.Ajax的实现 1. 基本概念的了解 Ajax的核心是什么? XMLHttpRequest是什么? Ajax数据传输的数据格 ...

  6. Jackson、FastJson快速入门(整合SpringMVC)

    目录 1. 什么是 JSON 2. JSON 语法规则 3. JSON 与 JS 对象的关系 4. JSON 和 JS 对象互转 5. Jackson-数据格式转换 1. 环境搭建 2. 对象转jso ...

  7. RESTful风格及其SpringMVC实现

    目录 1.RESTful概念 2.RESTful功能 3.对比:传统方式操作资源 4.SpringMVC实现传统方式操作资源 5.使用RestFul操作资源 6.SpringMVC实现RESTful操 ...

  8. 使用注解开发SpringMVC详细配置教程

    目录 1.使用注解开发SpringMVC 1.新建一个普通的maven项目,添加web支持 2.在pom.xml中导入相关依赖 3.配置web.xml 4.编写SpringMVC配置文件 1. 自动扫 ...

  9. SpringMVC的form:form表单的使用

    为什么要使用SpringMVC的form:form表单,有两个原因:一是可以更加快捷的完成表单的开发,比如会替你做好数据类型装换等本来需要你自己动手的工作.其次就是能够更加方便的实现表单回显. 首先要 ...

  10. SpringMVC工作环境搭建 配置文件

    web.xml配置 在服务器端容器启动之前加载配置文件的顺序:context-param>listener>filter>servlet //容器配置application上下文的时 ...

最新文章

  1. 用VS(c#)创建、调试windows service以及部署卸载
  2. dev gridcontrol summaryitem如何加条件_如何一次清洗1000根核磁管
  3. Linux监控命令之==netstat
  4. 表格隔行变色_CSS实现鼠标悬停高亮
  5. java.logging的重定向?
  6. hadoop中map和reduce的数量设置问题
  7. gcc、clang、make、cmake、makefile、CMakeLists.txt概念学习
  8. Tensorflow学习—— Estimator简介
  9. matlab出如何从fig中获取数据,如何从MATLAB的fig文件中提取原始数据?
  10. 解析xml_QT开发(四十四)——流方法解析XML
  11. 检测c/c++中内存泄露
  12. LayaAir Sprite 容器添加子节点
  13. 配置管理计划的新设想
  14. 华为交换机重置Console口密码
  15. Looksery Cup 2015 A. Face Detection
  16. 如何在Web页面里使用高拍仪扫描上传图像
  17. 15直接引语变间接引语(陈述句作宾语从句)
  18. 【Linux】Linux常识28问
  19. python 离散数学 判断单射 双射 满射
  20. 应用程序正常初始化(0xc0000034)失败

热门文章

  1. 权限控制案例(细粒度)
  2. 学机械能去计算机,《动能 势能 机械能》案例与反思
  3. 2012年八月工作总结--CNXX的生活
  4. EN--二十四节气英文版
  5. crossApp初级-CATextField类-9
  6. Android OTA升级原理 - 实现流程(整理一)
  7. CVPR人工智能成精记,不但看穿PS,还能一键卸妆
  8. 在IT部门和研发部门的工作差别
  9. 台电u盘linux驱动,台电官方论坛
  10. 23考研零基础跨考南京大学软件工程专硕420分数学满分经验贴