SpringMVC第三阶段:源码解析SpringMVC如何调用Controller目标方法

news/2024/12/31 4:14:29/

源码解析SpringMVC如何调用Controller目标方法:

浏览器如何访问到Controller目标方法.

1、所有请求进入时候,会先进入org.springframework.web.servlet.DispatcherServlet前端控制器的doDispatch() 方法

在这里插入图片描述

2 、在 1016 行 getHandler() 方法中,会通过请求的资源路径 /hello 找到 对应的 XxxController#xxx() 方法返回.

在这里插入图片描述

我们叫业务处理方法叫Handler 。

3、在 1023 行 getHandlerAdapter () 方法获取 handler 的适配器( 它用来执行业务方法 )

在这里插入图片描述

4、在 1040 行 ha.handle() 方法用于调用业务方法执行 ( 通过反射调用 )

在这里插入图片描述

5、请求流程总结

在这里插入图片描述

首先请求会先进入 前端控制器 DispatcherServlet .
前端控制器调用 doDispatch() 方法进行请求的分发处理
如何分发请求?
通过请求的资源路径.找到对应的 Controller#xxxx() 业务方法
最后通过反射调用目标方法


http://www.ppmy.cn/news/73540.html

相关文章

低代码开发打破CRM开发瓶颈,是否靠谱呢?

低代码开发平台是一种快速开发应用程序的新兴技术,它通过提供可视化开发工具和预配置组件,使开发者更加高效地创建应用程序。低代码开发平台的出现为企业开发带来了一次全新的机遇,尤其是在CRM领域。但是,低代码开发在CRM领域中是…

【CSS系列】第八章 · CSS浮动

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

面试季,真的太狠了...

金三银四面试季的复盘,真的太狠了… 面试感受 先说一个字 是真的 “ 累 ” 安排的太满的后果可能就是一天只吃一顿饭,一直奔波在路上 不扯这个了,给大家说说面试吧,我工作大概两年多的时间,大家可以参考下 在整个面…

java版企业电子招投标采购系统源码——功能模块功能描述+数字化采购管理 采购招投标

​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外…

MySQL的Replication复制

单机多实例部署 创建mysql系统账户 useradd -s /sbin/nologin -M mysql解压tar包 tar -zxvf mysql5.7.tar.gz mv mysql5.7 /usr/local/mysql创建路径并赋值 mkdir -p /usr/local/var/mysql1 mkdir -p /usr/local/var/mysql2 mkdir -p /usr/local/var/mysql3touch /tmp/mysq…

django admin后台管理系统上传添加的图片保存到阿里云oss中

目录 一、配置admin上传图片到阿里云oss 二、配置admin后台上传到阿里云oss的图片为自定义名 问题描述:在开发自己的应用/网页前后台时可以调用阿里云oss的接口将图片上传至oss保存和读取,非常方便。但在django自带的admin后台中如何配置添加的图片也上…

私有GitLab仓库 - 本地搭建GitLab私有代码仓库并随时远程访问「内网穿透」

文章目录 前言1. 下载Gitlab2. 安装Gitlab3. 启动Gitlab4. 安装cpolar内网穿透5. 创建隧道配置访问地址6. 固定GitLab访问地址6.1 保留二级子域名6.2 配置二级子域名 7. 测试访问二级子域名 转载自远控源码文章:Linux搭建GitLab私有仓库,并内网穿透实现公…

网络性能测试工具

什么是网络测试 网络测试是用于定量或定性测量 IT 基础架构性能的过程。这是一个原始级别的故障识别,不需要大量的历史数据。对于更高级的监视,使用网络监视工具。 什么是网络测试工具 网络测试工具是一组工具,可帮助测量网络各个方面的性…