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

SpringMVC执行流程(视图阶段JSP、前后端分离阶段)、面试题

目录

1.SpringMVC执行流程分为以下两种

2.非前后端分离的SpringMVC的执行流程

3.前后端分离的项目SpringMVC执行流程

4. 面试题



1.SpringMVC执行流程分为以下两种

2.非前后端分离的SpringMVC的执行流程

流程图:

更加生动的描述:

DisPatcherServlet (CEO) :接收前端用户请求

handlerMapping(秘书) :   缓存hander方法和地址

HandlerAdapter(经理 )  :简化请求参数和响应结果,请求参数会被简化为hander需要的参数,响应结果会被封装到response中

视图解析器 (财务 ): 将逻辑视图渲染为真正的页面,
(非必须的,前后端分离项目返回JSON数据就不需要,后面会再讲到) 

用户向CEO(DispatchServlet)发起请求 某个方法(hander),CEO让秘书(handerMapping)查询一下这个方法(hander),如果存在,秘书会向CEO返回该方法的方法名和地址(URL),CEO 会把这个方法的信息交给经理(handerAdapter)执行,经理安排员工(处理器hander)执行该方法,期间经理会对请求和响应结果都做简化处理,之后向CEO返回执行结果(ModeAndView),CEO再把结果(视图名字)交给财务(视图解析器)处理,财务会根据前缀,后缀,以及视图名字找到对应的页面,并返回给CEO结果(view)。


3.前后端分离的项目SpringMVC执行流程

和上面非前后端分离的SpringMVC请求流程大致相同,区别在于

后端向前端返回一个JSON字符串,不需要视图解析器渲染。

那怎么让后端hander返回一个JSON字符串呢?

只需要在hander上添加@ResponseBody注解即可,内部会通过HttpMessageConverter来将返回结果转为JSON并响应

4. 面试题

http://www.lryc.cn/news/472673.html

相关文章:

  • 宠物空气净化器有用吗?有哪几款吸毛效果好且低噪的推荐
  • linux -磁盘管理命令
  • [Chrome插件开发]关于报错Service worker registration failed. Status code: 15
  • uniapp封装movable-area+movable-view组件,实现悬浮按钮可拖动,自动吸附边缘效果,自动向两边靠拢
  • 音频重采样(libresample)
  • 使用Python来下一场雪
  • Pyspark中pyspark.sql.functions常用方法(4)
  • Nginx 配置基于IP 地址的 Web 服务器
  • 【TVM 教程】线性和递归核
  • 猫主福利大放送,双11猫奴们的购物狂欢节 养猫必备清单
  • Linux中gcc的使用
  • React 组件 API
  • 一个使用接口模式、工厂模式、模板方法模式的日志文件系统
  • openjdk17 C++源码是怎么给java字段赋值的
  • C++初阶(八)--内存管理
  • C# 企业微信机器人推送消息 windows服务应用程序的使用
  • 社区交流系统设计与实现
  • 【模型学习之路】手写+分析bert
  • Redis学习文档(常见面试题)
  • 【C++刷题】力扣-#594-最长和谐子序列
  • MoveIt 控制自己的真实机械臂【2】——编写 action server 端代码
  • C#制作学生管理系统
  • python Pandas合并(单元格、sheet、excel )
  • OJ在线编程常见输入输出练习【JavaScript】
  • 新能源汽车空调系统:绿色出行的舒适保障
  • Date工具类详细汇总-Date日期相关方法
  • TMUX1308PWR规格书 数据手册 具有注入电流控制功能的 5V 双向 8:1单通道和 4:1 双通道多路复用器芯片
  • 证件照怎么换底色?简单又快速!不看后悔
  • Rust 基础语法与常用特性
  • 一、开发环境的搭建