gpt4 book ai didi

java - HTML 和 CSS 引用跳出我的 Tomcat 上下文

转载 作者:行者123 更新时间:2023-11-28 22:44:58 24 4
gpt4 key购买 nike

我有一个 tomcat myeclipse servlet 项目,如果/w HTML 链接我使用“/”或者使用 CSS 我使用 background: url(/);生成的链接最终是本地主机:8080/myReference,问题是我的整个项目都在上下文/hs下,所以生成的引用应该是localhost:8080/hs/myReference。我不想使用 HTML 基本标记,因为我需要为 CSS、HTML 和 JS 更改此根。

这是我们拥有的 server.xml 条目:

<Context path="/hs" docBase="hs" reloadable="true" crossContext="true">
<Resource name="jdbc/hsDS" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="0" maxWait="10000" username="3" password="1" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/healthsafety?autoReconnect=true" />
</Context>

这让我发疯,我需要对此进行排序,以便可以在 HTML、CSS、JS 中使用“/”绝对引用,我们将不胜感激!

最佳答案

如果你真的不想使用 HTML <base>出于某些不明显的原因,您需要在前面加上 ${pageContext.request.contextPath}在您想要相对于域根目录的每个资源 URL 中。这将动态打印当前上下文路径。

例如

<head>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/default.css" />
<script src="${pageContext.request.contextPath}/js/default.js"></script>
</head>
<body>
<img src="${pageContext.request.contextPath}/img/logo.png" />
<a href="${pageContext.request.contextPath}/page.jsp">link</a>
<form action="${pageContext.request.contextPath}/servlet"><input type="submit" /></form>
</body>

使用 JSTL <c:set>给它一个较短的别名可能会减轻痛苦。

关于CSS背景图片,只需将这些图片放在CSS文件夹的子文件夹中,并使用不带前导的路径/ .例如。 /css CSS 文件和 /css/images 的文件夹CSS 图像的文件夹。然后你可以一直使用 url('images/name.ext')用于 CSS 图像。

另见:

关于java - HTML 和 CSS 引用跳出我的 Tomcat 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816641/

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