gpt4 book ai didi

java - Tomcat 没有使用应用程序 URL 作为该应用程序路径的基础

转载 作者:行者123 更新时间:2023-11-28 23:02:16 24 4
gpt4 key购买 nike

我有一个部署到 tomcat 安装的 war (foo.war) 文件,tomcat 正确地看到该文件并将其展开,我可以使用 http://localhost:8080/foo 访问该站点,但对于任何使用斜杠开头的路径(即 /bar/test.js),它会尝试从 http://localhost 引用它: 8080 路径而不是 http://localhost:8080/foo 路径。不以斜杠 bar/test.js 开头的路径可以正常工作。我已经搞砸了一个小时左右的谷歌搜索,但到目前为止我还没有想出任何东西。我什至不确定调试此类问题的正确步骤是什么。与此相关的日志中没有显示任何内容,我查看了配置文件,但没有任何内容跳出来。

关于要查看什么以了解发生这种情况的任何有用指示?

编辑:为了回应其他人提出的一些好的观点,我最初的理解是任何以斜杠开头的路径都是绝对路径并且将基于主机,但是这个问题的答案( Absolute path & Relative Path )指出否则这就是我问问题的原因。

最佳答案

任何/开头的是相对于当前位置的。以 / 开头的任何内容是主机的 root。因此,除非我在您的描述中遗漏了某些内容,否则您看到的行为是正确的。

...any path that started with a slash would be an absolute path and would be based off the host

是的,没错。

您不是在询问如何创建包含上下文根(在您的示例中为 foo)的正确 URL,对吗?如果您使用的是 JSP,答案将在这里:https://stackoverflow.com/a/4764586/131929

<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/css/style.css" />

我个人喜欢 JSTL <c:url>标签。

<link type="text/css" rel="stylesheet" href="<c:url value="/css/style.css" />" />

除了添加了上下文根目录/路径之外,它还提供了一些好东西。

关于java - Tomcat 没有使用应用程序 URL 作为该应用程序路径的基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16927393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com