java - 如何为不在 web-apps 文件夹中的 Apache Tomcat 设置上下文
问题描述
我想为我的 Tomcat 服务器设置 2 个上下文路径,但我不想每次都部署一个单独的 war 文件。我知道曾几何时,我可以在 Tomcat 实例的 webapps 文件夹之外有一个上下文文件夹。如果我仍然能够做到这一点,我所要做的就是重新启动我的 tomcat 会话,以便识别更改。
我一直在阅读 Tomcat 文档 8.5.43 Apache Tomcat 8 Configuration Reference。我明白这些话,但我只是越来越困惑。
这就是我要的。
这是我的应用程序根目录 C:\myFoo\index.jsp 的容器
这就是我想在我的网络浏览器中访问上述内容的方式。本地主机:8080\myFoo\index.jsp
解决方案
请参阅定义上下文部分:
可以明确定义各个上下文元素:
在目录中的单个文件(扩展名为“.xml”)中
$CATALINA_BASE/conf/[enginename]/[hostname]/
。上下文路径和版本将从文件的基本名称(文件名减去 .xml 扩展名)派生。此文件将始终优先于打包在 Web 应用程序的 META-INF 目录中的任何 context.xml 文件。
因此,创建.../conf/catalina/localhost/myFoo.xml
包含内容的文件:
<Context docBase="C:/myFoo" />
创建另一个.../conf/catalina/localhost/myFoo2.xml
具有相同内容的文件。
现在localhost:8080\myFoo\index.jsp
,localhost:8080\myFoo2\index.jsp
将看到相同的内容,即使它们是两个不同加载的 web 应用程序(双倍内存使用)。
推荐阅读
- jenkins - Jenkins 多分支管道扫描节点
- wordpress - Wordpress 菜单更改未保存
- git-flow - 如何在 Amazon Linux AMI 上安装 Git-Flow?
- angular - 当我在Angular2中使用onclick函数单击特定用户时如何动态显示JSON数据
- php - 如何在 CakePHP 3.x 中发送 JSON 响应
- c++ - 无法捕获 CLion 发送的 SIGINT
- php - 如何搜索数组并存储其父项。
- java - 无法将图像的 URI 路径放入 Android Studio 中的 imageview
- r - 用于替换和修改变量的 dplyr 工作流程
- powershell - 将参数传递给 Powershell 中的应用程序调用