Java Tomcat custom context.xml文件从未被考虑在内
我目前对web应用程序的Tomcat配置有问题(我使用Tomcat 8.5.57)。Java Tomcat custom context.xml文件从未被考虑在内,java,css,tomcat,tomcat8,Java,Css,Tomcat,Tomcat8,我目前对web应用程序的Tomcat配置有问题(我使用Tomcat 8.5.57)。 此web应用程序打包在war文件中,其中包含html文件和css文件。 这个应用程序运行良好 现在,我收到一位客户的请求,要求能够通过客户机管理的自定义css文件(用于设置客户机的徽标或类似内容)从war之外修改应用程序的外观和感觉。 因此,我尝试创建一个名为custom.xml的自定义上下文文件,并将其放置在tomcat\conf\Catalina\localhost目录中。 此文件看起来像: <Con
此web应用程序打包在war文件中,其中包含html文件和css文件。
这个应用程序运行良好 现在,我收到一位客户的请求,要求能够通过客户机管理的自定义css文件(用于设置客户机的徽标或类似内容)从war之外修改应用程序的外观和感觉。
因此,我尝试创建一个名为
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>
问题是我的custom.css
文件从未被考虑在内
当我打开Chrome开发者工具的Sources选项卡时,我看到app/css
中的层次结构中有一个custom.css
文件(可能是由于html文件中的行),但它是空得令人绝望。我尝试了很多在网络和stackoverflow上找到的东西,但是没有一件对我有用 有人能帮我吗
谢谢大家! 在
server.xml
之外忽略
元素的path
属性:
只有在server.xml中静态定义上下文时,才能使用此属性。在所有其他情况下,将根据.xml上下文文件或docBase使用的文件名推断路径。[来自]
因此,您有两种选择:
- 通过创建名为
的文件和内容,您可以使用上下文路径conf\Catalina\localhost\app#css.xml
定义新上下文(新web应用程序):/app/css
这样,在/app/css
子树下的所有内容都将仅从E:\somedirectory\support
目录提供服务
conf\Catalina\localhost\app.xml的文件,您可以重新定义应用程序上下文以包括一个附加的虚拟目录(WAR文件的内容旁边),该文件的内容如下:
这样,在处理
/app/css/foo/bar
请求时,Tomcat将首先在E:\somedirectory\support
中查找foo/bar
,然后在WAR文件中查找。这是否回答了您的问题?可悲的是,事实并非如此。我尝试了一些类似这样的配置:
,但效果并不好。我尝试了解决方案2,效果非常好!谢谢。
<link rel="stylesheet" href="css/custom.css" media="screen" type="text/css"/>