java - Tomcat context.xml 文件,是否有层次结构?

标签 java tomcat configuration symlink context.xml

我正在尝试在我在 Tomcat5 上运行的应用程序之一中使用符号链接(symbolic link)。感谢 another StackOverflow question 的一些帮助我能做到 通过在

中创建一个 context.xml 文件

/...myapplication/META-INF/context.xml

我现在正尝试在生产服务器上实现它。但是,上面还运行着其他应用程序。还有另一个上下文文件

/...tomcat/conf/context.xml

在我看来,这些是在服务器范围内为所有应用程序设置配置。如果我在 conf/context.xml 文件中允许链接,我的符号链接(symbolic link)就可以工作。如果我不允许 conf/context.xml 中的链接,我的应用程序的符号链接(symbolic link)将不起作用,即使我在 META-INF/context.xml 中允许它们

我的问题是,conf/context.xml 是否控制所有应用程序?如果我希望符号链接(symbolic link)只在一个应用程序中工作,我是否需要删除 conf/context.xml 并为每个应用程序创建新的上下文文件?或者有什么方法可以只在我的应用程序中允许符号链接(symbolic link)吗?

最佳答案

参见 my answer到“Which Tomcat 5 context file takes precedence”问题。

关于您的具体allowLinks问题,conf/context.xml 中的值默认优先。如果你在 conf/context.xml 中什么都不说, 默认值为 allowLinks="false" 在你的conf/context.xml .

如果您只想为您的 myapplication 更改它,想说<Context allowLinks="true" ...>在你的META-INF/context.xml不会有任何影响,因为通常 conf/context.xml设置将优先。

但是,如果你说 <Context allowLinks="true" <b>override="true"</b> ...> 在你的META-INF/context.xml , 那么你所有的 <Context> META-INF/context.xml 中的设置将是最高优先级,覆盖conf/context.xml中的任何内容.

最后,而不是 myapplication/WEB-INF/context.xml文件,我建议使用 conf/Catalina/localhost/myapplication.xml文件。这种技术意味着您可以保持 WEB-INF 的内容干净,这是您的 web 应用程序的核心——我不喜欢冒险弄乱我的 web 应用程序的核心。 :-)

关于java - Tomcat context.xml 文件,是否有层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/318241/

相关文章:

java - Mapbox Android SymbolLayer 重置过滤器

java - 安卓 : Error:Execution failed for task ':transformClassesWithJarMergingForDebug'

java - 可以将tomcat配置为仅加载签名的jar吗

tomcat - UrlRewriteFilter 开关 ?和 &

java - -System.nanoTime() + System.nanoTime() 是否保证 >= 0?

java - 使 "data" transient 或可序列化的 SonarQube 错误

jquery - 使用 Jquery ajax() 调用,Tomcat 日志静默

configuration - 为什么我不能将 proxy_set_header 放在 if 子句中?

c# - 如何以编程方式配置 IIS 6?

configuration - 如何在 Airflow 中使用配置文件