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

springmvc直接访问 上下文路径 302 后路径更改并跳转源码解析

【问题现状】
application.yml 配置如下属性:

server:
  servlet:
    context-path: /learning

直接访问:http://localhost:8888/learning 路径时,会返回302的响应状态;并跳转路径:http://localhost:8888/learning/ (原路径后多了个斜杠/) 在这里插入图片描述
源码分析:
org.apache.tomcat.util.net.NioEndpoint.SocketProcessor#doRun
在这里插入图片描述

org.apache.coyote.AbstractProtocol.ConnectionHandler#process
在这里插入图片描述

org.apache.coyote.AbstractProcessorLight#process
在这里插入图片描述

org.apache.coyote.http11.Http11Processor#service
在这里插入图片描述

org.apache.catalina.connector.CoyoteAdapter#service
在这里插入图片描述
此时 status 还为 200,执行过后,status 变为 302,如下所示:
在这里插入图片描述

详细看 org.apache.catalina.connector.CoyoteAdapter#postParseRequest 方法:
在这里插入图片描述
在这里插入图片描述
再深入分析 request.getMappingData().redirectPath 的值是怎么来的:

org.apache.catalina.mapper.Mapper#map
在这里插入图片描述

org.apache.catalina.mapper.Mapper#internalMap
在这里插入图片描述

org.apache.catalina.mapper.Mapper#internalMapWrapper
在这里插入图片描述

扩展学习:
1、Tomcat源码分析:HTTP请求处理过程
2、SpringBoot Tomcat 工作流程


http://www.kler.cn/news/342331.html

相关文章:

  • 【系统架构设计师】案例专题三:数据库系统考点梳理
  • 图像分割恢复方法
  • AI智能体:共塑企业变革新纪元,引领未来无限潜能
  • Hessian 序列化
  • Java面试题——第十篇
  • Midjourney中文版:解锁你的创意之旅
  • [红队apt]CHM电子书攻击/电子教程攻击
  • 微软确认Word离奇Bug 命名不当会导致文件被删
  • 塔吊识别数据集 yolo格式 共5076张图片 已划分好训练验证 txt格式 yolo可直接使用
  • VAS1800Q奇力科技线性芯片电荷泵热处理
  • set有哪些实现类?
  • 洗衣店管理革命:Spring Boot订单系统
  • 最新Prompt预设词指令教程大全ChatGPT、AI智能体(300+预设词应用)
  • 现货黄金价格走势图策略分析 先看“势”
  • 鸿蒙NEXT开发-页面路由(基于最新api12稳定版)
  • Excel中使用SQL语句的四种方法
  • 走进异常类的世界,自定义业务异常类实现指南
  • 多jdk版本环境下,jenkins系统设置需指定JAVA_HOME环境变量
  • AI 概念大杂烩
  • 若依项目搭建(黑马经验)