Solon Web 的两种 Context-Path 配置
context-path 概念早期可能是出现在 servelt 容器。比如 tomcat 在部署应用(或模块)时,每个应用(或模块)会配置一个 context-path,起到隔离和避免路径冲突的效果。
对 solon 而言,相当于一个 webapp 的“路径前缀”(且与友商的配置略有不同)。
1、所谓路径前缀
比如果有应用地址(未配置 context-path 时):http://xxx/test/get
。
当配置了context-path /demo/
后就需要用 http://xxx/demo/test/get
发起请求(在域名之后,多了段前缀)。
2、关于 context-path 的两种配置(基于 pathNew 的变化实现)
配置 | 差别 | 差别说明 |
---|---|---|
server.contextPath: "/test-service/" |
原路径仍能访问(v1.11.2 后支持) | |
server.contextPath: "!/test-service/" |
! 开头 |
强制,原路径不可访问(v2.6.3 后支持) |
当有 context-path
配置时
接口 | 说明 |
---|---|
ctx.path() |
是原始请求路径 |
ctx.pathNew() |
是去掉 context-path 后的请求路径 |
3、两种配置效果示例说明
比如有原始地址:http://xxx/test
,使用不同配置的效果:
请求地址 | 无配置 | "/test-service/" |
"!/test-service/" |
---|---|---|---|
http://xxx/test (原路径) |
可访问 | 可访问 | 404 错误 |
http://xxx/test-service/test |
404 错误 | 可访问 | 可访问 |
提醒:一般情况使用,添加 !
(表示强制)才是大多数人的预期效果。
4、为什么要有两种配置?
在集群环境(比如微服务)做内部的 http rpc (或者 http call)请求时。如果 server 加了 context-path(或者变更),client 就必须要修改请求路径。没办法作到一套代码到处可用。
所以有了 “原路径仍能访问” 的配置策略。可以实现外部如何变化,内部请求都可不变!
5、为什么默认不是“强制”的策略?
在生产部署时,当遇见有 context-path 需求的场景。一般会有 nginx 或 tomcat 等,本身就有 path 前缀配置,相当于已经起到了过滤的效果,应用只需要支持有前缀的需求。
所以默认不采用“强制”方式,可以同时兼容两种应用需求。(但有些场景下,确实需要强制)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Gitee 构件治理实践:CBB 分布式管理助力软件工厂建设
作者:Gitee DevSecOps 团队 李颖萍 在数字化转型加速的大背景下,企业软件开发正面临着交付效率、工程质量与安全合规的多重挑战。CBB(Common Building Block,可复用构件)作为企业构建「软件资产化」能力的核心,其管理模式直接影响组织的研发效能与可持续演进能力。 作为领先的企业级 DevSecOps 平台,Gitee DevSecOps 已在多个行业客户中成功落地 CBB 构件分布式管理能力,并构建出一整套围绕“在原地开发、就近发布、统一纳管”的构件治理机制,切实贴合大型企业多项目、多团队、复杂协作的实际业务形态。 为什么选择分布式管理? 因为更符合现实,更适合复杂组织。 在理想的构件治理体系中,复用是提升交付效率的关键路径。但对于大型企业而言,业务条线多、组织分布广、交付节奏各异,使得传统的集中式构件管理难以落地,反而容易带来治理上的摩擦与效率瓶颈。 Gitee DevSecOps 因此选择走一条更现实、务实、可落地的路径——构件分布式管理: 构件就地开发、就地构建,不打破现有项目结构与协作模式; 构件发布至原有制品库路径,无需新建构件中心、避免迁移成...
-
下一篇
微语 0.9.4 发布,AI Agent 智能客服
企业级多租户团队协作工具,免费开源N件套:企业IM、在线客服、企业知识库/帮助文档、客户之声、工单系统、AI对话、工作流、呼叫中心、视频客服、开放平台。 语言 English 中文 管理端 多渠道 客服端 介绍 企业IM 局域网即时通讯 企业成员管理 聊天记录监控 ... 全渠道客服 多渠道接入 人工客服 客服Agent智能体,对接自有数据,自动执行操作 ... 知识库 对接大模型 自定义知识库 Function Calling Mcp ... 工单系统 工单管理 工单SLA管理 工单统计和报表 ... AI Agent Ollama/DeepSeek/ZhipuAI/... 智能体 工作流 ... 工作流 自定义表单 自定义流程 工单流程可视化 ... 客户之声 意见反馈 服务投诉 问卷调查 ... 呼叫中心 基于FreeSwitch的专业呼叫平台 支持来电弹屏、自动分配、通话录音 数据统计,语音与文字服务无缝集成 视频客服 基于WebRTC技术的高清视频通话 支持一键视频对话与屏幕共享 适用于需要直观展示的服务场景 开放平台 提供完整的RESTful API接口和SDK工具包 支持...
相关文章
文章评论
共有0条评论来说两句吧...