【发布时间】:2021-06-16 16:03:28
【问题描述】:
我目前有一个 Web 应用程序的 Tomcat 配置问题(我使用的是 Tomcat 8.5.57)。
此 Web 应用程序打包在一个 war 文件中,其中包含 html 文件和 css 文件等。
此应用程序运行良好。
现在,我有一个客户的请求,要求能够通过客户端管理的自定义 css 文件从战争之外修改应用程序的外观和感觉(用于设置客户端的徽标或其他东西像那样)。
因此,我尝试创建一个名为 custom.xml 的自定义上下文文件,并将其放在 tomcat\conf\Catalina\localhost 目录中。
这个文件看起来像:
<Context docBase="E:/somedirectory/support"
path="/app/css"
reloadable = "false"
unpackWAR = "false"
swallowOutput = "true" >
<WatchedResource>custom.css</WatchedResource>
</Context>
我将包含一些 css 指令的 custom.css 文件作为测试放在 E:/somedirectory/support 目录中。
在我的 Web 应用程序的 html 文件中,我在 head 部分有以下行:
<link rel="stylesheet" href="css/custom.css" media="screen" type="text/css"/>
问题是我的custom.css 文件从未被考虑在内。
当我打开 Chrome 开发者工具的 Sources 选项卡时,我在 app/css 的层次结构中看到了一个 custom.css 文件,正如预期的那样(可能是由于 html 文件中的行),但它是空的。
我尝试了很多在 Web 和 stackoverflow 上找到的东西,但对我没有任何效果...
有人可以帮我吗?
谢谢!
【问题讨论】:
-
遗憾的是,事实并非如此。我尝试了一些这样的配置:
<Context> <Resources className="org.apache.catalina.webresources.StandardRoot"> <PreResources className="org.apache.catalina.webresources.DirResourceSet" base="C:\\PROJECT_NAME\\conf" internalPath="/" webAppMount="/WEB-INF/classes" /> </Resources> </Context>但效果并不好。