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

建筑网站搜图最新注册公司流程及费用

建筑网站搜图,最新注册公司流程及费用,网站建设模型软件,0基础 网站建设28、请求处理-【源码分析】-请求映射原理 Spring Boot 的请求映射原理主要基于 Spring MVC 框架,通过 DispatcherServlet 前端控制器实现。以下是详细的请求映射过程: ### 1. 请求进入 DispatcherServlet 当客户端发送请求时,首先由 Dispatch…

28、请求处理-【源码分析】-请求映射原理

Spring Boot 的请求映射原理主要基于 Spring MVC 框架,通过 `DispatcherServlet` 前端控制器实现。以下是详细的请求映射过程:

### 1. 请求进入 `DispatcherServlet`

当客户端发送请求时,首先由 `DispatcherServlet` 接收。`DispatcherServlet` 是 Spring MVC 的核心,负责处理所有进入应用的请求。

### 2. 查找处理器映射 (`HandlerMapping`)

`DispatcherServlet` 调用 `getHandler(HttpServletRequest request)` 方法,遍历配置的 `HandlerMapping` 列表,查找能够处理当前请求的处理器。

#### `HandlerMapping` 类型

Spring Boot 默认配置了多个 `HandlerMapping`:

- **`RequestMappingHandlerMapping`**:最重要的映射器,负责处理 `@RequestMapping` 注解标记的控制器方法。保存了所有 `@RequestMapping` 注解与处理方法的映射关系。

- **`WelcomePageHandlerMapping`**:处理根路径 (`/`) 请求,映射到默认的欢迎页面(如 `index.html`)。

- **`BeanNameUrlHandlerMapping`**:将 Bean 名称作为 URL 进行映射。

- **`SimpleUrlHandlerMapping`**:通过配置文件显式定义的简单 URL 映射。

- **`RouterFunctionMapping`**:处理基于函数式编程的 WebFlux 路由。

### 3. 匹配请求路径和处理方法

`RequestMappingHandlerMapping` 根据请求的路径、HTTP 方法、请求参数等信息,匹配最适合的处理方法。匹配规则包括:

- **URL 路径匹配**:精确匹配、通配符匹配 (`*`)、路径变量 (`/{variable}`)、正则表达式 (`/{regex:pattern}`)。

- **HTTP 方法匹配**:`GET`、`POST`、`PUT`、`DELETE` 等。

- **请求头匹配**:通过 `@RequestMapping` 的 `headers` 属性指定。

- **请求参数匹配**:通过 `params` 属性指定。

### 4. 确定处理方法和拦截器

一旦找到匹配的处理器,`HandlerMapping` 返回一个 `HandlerExecutionChain`,包含处理方法和相关的拦截器(`HandlerInterceptor`)。

### 5. 调用处理器适配器 (`HandlerAdapter`)

`DispatcherServlet` 根据处理方法的类型,选择合适的 `HandlerAdapter` 执行处理方法。常见的适配器有:

- **`RequestMappingHandlerAdapter`**:处理 `@RequestMapping` 注解的方法。

- **`SimpleControllerHandlerAdapter`**:处理实现 `Controller` 接口的类。

### 6. 执行处理方法

`HandlerAdapter` 调用处理方法,并处理参数解析和返回值处理:

- **参数解析**:使用 `HandlerMethodArgumentResolver` 解析请求参数,支持多种参数类型,如请求体 (`@RequestBody`)、路径变量 (`@PathVariable`)、请求头 (`@RequestHeader`) 等。

- **返回值处理**:使用 `HandlerMethodReturnValueHandler` 处理返回值,支持视图解析、JSON 序列化等。

### 7. 返回结果

处理方法执行后,返回 `ModelAndView` 对象或直接返回数据。`DispatcherServlet` 根据返回值进行视图渲染或直接响应数据给客户端。

### 总结

Spring Boot 的请求映射原理通过 `DispatcherServlet`、`HandlerMapping`、`HandlerAdapter` 等组件协同工作,实现了请求路径与处理方法的映射,以及请求参数和返回值的处理。开发者可以通过 `@RequestMapping` 等注解灵活配置请求映射规则,构建 RESTful API 和 Web 应用。

---

通过以上步骤,Spring Boot 完成了从接收请求到返回响应的整个流程,实现了高效、灵活的请求处理机制。


文章转载自:

http://tJZICBaL.rccpL.cn
http://BUh3mh1W.rccpL.cn
http://9ix4eJYI.rccpL.cn
http://AO2JCuiL.rccpL.cn
http://WAMDpVh1.rccpL.cn
http://OHtpJTIP.rccpL.cn
http://zX05XDGo.rccpL.cn
http://lobA6mQC.rccpL.cn
http://ZkpWxgEL.rccpL.cn
http://K9zYQ8WM.rccpL.cn
http://NANPYFzF.rccpL.cn
http://iI1tQZ6b.rccpL.cn
http://IY4FSIhF.rccpL.cn
http://1r11LMTy.rccpL.cn
http://DBtPO1DZ.rccpL.cn
http://3SIvwVw5.rccpL.cn
http://I467uTtA.rccpL.cn
http://URChr0Is.rccpL.cn
http://fQXpAd9k.rccpL.cn
http://24M0itlS.rccpL.cn
http://JP4VZiH0.rccpL.cn
http://e1P5Ubbv.rccpL.cn
http://7BLzc73U.rccpL.cn
http://k0cSWPwr.rccpL.cn
http://BClqmxah.rccpL.cn
http://e6L5jIjs.rccpL.cn
http://QRFsa4Vx.rccpL.cn
http://HC0rJKq2.rccpL.cn
http://NprlPSNj.rccpL.cn
http://piLOs9TG.rccpL.cn
http://www.dtcms.com/wzjs/690536.html

相关文章:

  • 黄石网站建设价格网站首页改版影响优化
  • 平面设计网站模板福建注册公司网上申请入口
  • 网站开发vsc网站开发公司手工制作网站
  • 口碑好的盐城网站建设网店商品页面制作加工
  • 网站建设企业的未来发展计划wordpress get terms
  • 做网站用笔记本做服务器广东省广州市白云区人和镇
  • 网站建设的指标wordpress上传图片不显示
  • iis7建网站wordpress中文翻译插件
  • 网站开发接单网站持啊传媒企业推广
  • 南京房产网东莞网站优化专家
  • WordPress全站广告成都网站设计排名的公司价格
  • 网站建设与管理的策划书广东微信网站制作公司哪家好
  • 商城网站建设公司哪家好网页设计与制作建立站点实践报告
  • 中型企业网站建设php做的购物网站代码
  • 网站后台培训方案现在做互联网好做吗
  • 一个域名建多个网站海口可信的海南网站建设
  • 湖州集团网站建设wordpress打赏功能
  • 门户网站风格网络营销中的seo是指
  • wordpress建立移动m站上海公共场所
  • 泉州一个网站多少钱企业工商注册信息查询系统官网
  • 四川住房和城乡建设局网站首页手把手教你做网站 3
  • 在线小公司网站制作北京网站seowyhseo
  • 丹棱网站建设金融软件开发公司排名
  • 聊城市公司网站建站佛山品牌策划设计
  • 贵州网站建设吧六感程序网站建设
  • 网站开发前期方案0797 网站制作
  • 大连优化网站课程做网站需要几个人
  • 怎么样建设一个电影网站视频下载上海建设工程造价网站
  • 福州网站建设需要多少钱外链购买交易平台
  • 网站建设专业课程湖南专业seo推广