首页 > 其他分享 >Spring MVC执行流程

Spring MVC执行流程

时间:2024-05-11 19:09:48浏览次数:21  
标签:HandlerMapping 调用 Spring 流程 视图 HandlerAdapter MVC 处理器 DispatcherServlet

视图执行流程

  1. 用户发送出请求到前端控制器DispatcherServlet。
  2. DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。
  3. HandlerMapping找到具体的处理器,生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet。
  4. DispatcherServlet调用HandlerAdapter(处理器适配器)。
  5. HandlerAdapter经过适配调用具体的处理器(Handler/Controller)。
  6. Controller执行完成返回ModelAndView对象。
  7. HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet。
  8. DispatcherServlet将ModelAndView传给ViewReslover(视图解析器)。
  9. ViewReslover解析后返回具体View(视图)。
  10. DispatcherServlet根据View进行渲染视图(即将模板数据填充至视图中)。
  11. DispatcherServlet响应用户。

前后端分离执行流程

  1. 用户发送出请求到前端控制器DispatcherServlet。
  2. DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。
  3. HandlerMapping找到具体的处理器,生成处理器对象及处理器拦截器(如果有),再一起返回给DispatcherServlet。
  4. DispatcherServlet调用HandlerAdapter(处理器适配器)。
  5. HandlerAdapter经过适配调用具体的处理器(Handler/Controller)。
  6. 方法上添加了@ResponseBody,通过HttpMessageConverter来返回结果转换为JSON并响应。

标签:HandlerMapping,调用,Spring,流程,视图,HandlerAdapter,MVC,处理器,DispatcherServlet
From: https://www.cnblogs.com/worshipone/p/18187053

相关文章

  • Spring bean循环依赖
    Spring循环引用循环依赖其实就是循环引用,也就是两个或两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于A。循环依赖在spring中是允许存在,spring框架依据三级缓存已经解决了大部分的循环依赖。一级缓存:单例池,缓存已经经历了完整的生命周期,已经初始化完成的bean对......
  • Spring bean的生命周期
    Spring的bean的生命周期通过BeanDefinition获取bean的定义信息。调用构造函数实例化bean。bean的依赖注入。@Autowired或者@Value的set方法。处理Aware接囗(BeanNameAware、BeanFactoryAware、ApplicationContextAware)Bean的后置处理器BeanPostProcessor-前置。初始化方......
  • springboot的链路日志
    1.背景在开发银行项目的时候有一个生成项目链路日志的需求。所谓的链路日志就是一个请求会经过多个项目的接口调用,它把这个请求内调用到的所有请求通过全局id串起来,通过全局id可以把所有涉及到的系统日志都快速的定位出来,方便线上出现问题时去排查问题。2.实现......
  • BIOS 与 UEFI 引导流程
    引用:https://www.cnblogs.com/larry1024/p/17645208.html,非常详细,不过图片我没拷贝过来,可以直接到源站阅读BIOS与UEFI引导流程前言现代计算机的整个启动过程可以概括为:计算机通电;CPU读取保存在主板上ROM芯片里的BIOS或UEFI程序(BootLoader);该程序加载指......
  • 如何设计与构建 FinOps 流程、团队、体系与目标
    作者:景祁前言近几年随着云计算的迅猛发展,企业IT数字化转型也已经进入“深水区”,对于用好云的关注度逐渐提升。《Flexera2023年云计算现状报告》显示,云成本管理优化跃居云管理团队下年度待办清单的榜首。FinOps(财务运营)作为一种新的操作模型逐渐进入云管理团队的视野。FinO......
  • springboot使用log4j监控日志发送邮件
    实现log4j发送邮件功能大致流程:1、开启邮箱SMTP服务,获取SMTP登录密码2、引入javax.mail、javax.activation依赖3、配置log4j文件,指定邮件发送方和接收方以及发送方账号密码等4、重写SMTPAppender(不重写也能实现邮件发送功能)开启邮箱SMTP服务这里以qq邮......
  • springboot项目服务器访问速度慢-可能的解决方法
    springboot项目部署在服务器后,访问很慢或无法访问问题使用宝塔界面,尝试将打包后的jar包部署在服务器上运行时,发现访问速度不是很快,或者是直接访问不到。访问不到对应端口的springboot服务80端口也无法访问首次访问加载慢的解决方法修改jre文件找到安装的jre目......
  • Spring事务失效
    Spring中事务失效的场景有哪些异常捕获处理,抛出检查异常和非public方法。异常捕获处理原因:事务通知只有捉到了目标抛出的异常,才能进行后续的回滚处理,如果目标自己处理掉异常,事务通知无法知悉。解决:在catch块添加thrownewRuntimeException(e)手动抛出。抛出检查异常原因:Spr......
  • Spring AOP
    什么是AOP面向切面编程,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取公共模块复用,降低耦合。项目中AOP的用途记录操作日志,缓存,spring实现的事务核心是:使用AOP中的环绕通知@Around+切点表达式pointcut(找到要记录日志,缓存,事务的方法)。通过环绕通知的参数获......
  • 基于spring boot Java的数组转树状结构类
    基于springboot的数组转树状结构类importjava.lang.reflect.Method;importjava.util.ArrayList;importjava.util.List;importjava.util.function.Function;publicclassArray{private<E,V>VcreateViewObject(Eentity,Class<V>viewObjectClass)thro......