当前位置: 首页 > news >正文

SpringMVC工作流程 -- java面试

在这里插入图片描述

  1. 首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,它作为统一访问点进行全局的流程控制。

  2. DispatcherServlet——>HandlerMapping,它会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器对象、多个HandlerInterceptor拦截器对象),并返回给DispatcherServlet。通过这种策略模式,很容易添加新的映射策略。

  3. DispatcherServlet——>HandlerAdapter,它会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用。

  4. HandlerAdapter——>处理器处理方法的调用,HandlerAdapter将会根据适配的结果调用真正的处理器处理方法,完成处理,并返回一个ModelAndView对象(包括模型数据、逻辑视图名)。

  5. ModelAndView的逻辑视图名——>ViewResolver,它会把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换为其他视图技术。

  6. View——>渲染,View会根据传过来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,因此很容易支持其他视图技术。

  7. 返回控制权交给DispatcherServlet,尤其返回响应给用户,到此一个流程结束。


来自:
springMVC—简介 - 冯如 - 博客园

相关文章:

  • Spring MVC的主要组件 -- java面试
  • javaConfig是什么
  • Spring Boot自动配置原理 -- java面试
  • 如何理解 Spring Boot 中的 Starter -- java面试
  • 什么是嵌入式服务器?为什么要使用嵌入式服务器? -- java面试
  • mybatis的介绍以及优缺点 -- java面试
  • MyBatis 与Hibernate 有哪些不同 -- java面试
  • #{}和${}的区别是什么 -- java面试
  • idea上传到github以及移除文件操作
  • Modifier ‘private‘ not allowed here
  • 验证线程池扩展能力的测试方法的问题
  • win10 wifi有时候搜索不到
  • Mac 命令行关闭和打开蓝牙
  • AirPods Pro 卡顿或突然没声音的原因之一
  • 学习Git
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • JavaScript DOM 10 - 滚动
  • JavaScript中的对象个人分享
  • Koa2 之文件上传下载
  • Object.assign方法不能实现深复制
  • Python_OOP
  • zookeeper系列(七)实战分布式命名服务
  • 码农张的Bug人生 - 初来乍到
  • 配置 PM2 实现代码自动发布
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • ​​​​​​​​​​​​​​Γ函数
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #stm32驱动外设模块总结w5500模块
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • #预处理和函数的对比以及条件编译
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (四)汇编语言——简单程序
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)编辑寄语:因为爱心,所以美丽
  • (转)创业的注意事项
  • .“空心村”成因分析及解决对策122344
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET 回调、接口回调、 委托
  • .net 生成二级域名
  • .net 无限分类
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net6 webapi log4net完整配置使用流程
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)
  • [2018-01-08] Python强化周的第一天
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [3300万人的聊天室] 作为产品的上游公司该如何?
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [ActionScript][AS3]小小笔记