JSP Context

介绍:

下面的描述使用变量名称“CATALINABASECATALINABASETomcatCATALINA_BASE将被设置为CATALINA_HOME(已安装Tomcat的目录)的值。

Context元素表示在特定虚拟主机内运行的Web应用程序。每个Web应用程序基于Web应用程序存档(WAR)文件或包含相应的未打包内容的对应目录,如Servlet规范(版本2.2或更高版本)中所述。有关Web应用程序归档的更多信息,可以下载Servlet规范,并查看“Tomcat应用程序开发人员指南”。

用于处理每个HTTP请求的Web应用程序是由Catalina选择的,这是基于将Request URI的最长可能前缀与每个定义的Context的上下文路径进行匹配。一旦选择,该Context将根据Web应用程序部署定义的servlet映射,选择适当的servlet来处理传入的请求。

您可以根据需要定义尽可能多的Context元素。每个这样的上下文必须在虚拟主机内具有唯一的上下文名称。上下文路径不一定是唯一的(参见下面的并行部署)。另外,必须存在具有等于零长度字符串的上下文路径的上下文。此上下文成为此虚拟主机的默认Web应用程序,用于处理与任何其他Context的上下文路径不匹配的所有请求。

部署、命名

当由主机执行autoDeploy或deployOnStartup操作时,Web应用程序的名称和上下文路径是从定义Web应用程序的文件的名称派生的。因此,上下文路径可能不会在嵌入在应用程序中的META-INF / context.xml中定义,并且上下文名称,上下文路径,上下文版本与基本文件名(名称减去任何.war)之间存在密切关系或.xml扩展名)。

如果没有指定版本,则上下文名称始终与上下文路径相同。如果上下文路径是空字符串,则基本名称将为ROOT(总是大写),否则基本名称将是前导“/”被删除的上下文路径,并且剩余的“/”字符替换为“#”。

如果指定了一个版本,则上下文路径保持不变,并且上下文名称和基本名称都附加了字符串“##”,后跟版本标识符。

定义Context

不建议将元素直接放在server.xml文件中。这是因为它使得Context配置更具侵入性,因为在不重新启动Tomcat的情况下,无法重新加载main conf/server.xml文件。

可以明确定义Context元素的位置:

1、在应用程序文件中的/META-INF/context.xml的单个文件中。 (可以根据主机的copyXML属性)可能会被复制到
$CATALINA_BASE/conf /[enginename]/[hostname]/,并重命名为应用程序的基本文件名加上“.xml”扩展名。
2、在$CATALINA_BASE/conf /[enginename]/[hostname]/目录中的单个文件(带有“.xml”扩展名)中。上下文路径和版本将从文件的基本名称导出(文件名称少于.xml扩展名)。该文件将始终优先于打包在Web应用程序的META-INF目录中的任何context.xml文件。
3、在主conf/server.xml中的Host元素内。

可以定义适用于多个Web应用程序的默认上下文元素。单个Web应用程序的配置将覆盖以其中一个默认配置配置的任何内容。任何嵌套元素,例如在默认Context中定义的元素将为默认应用的每个上下文创建一次。它们不会在Context元素之间共享。

1、在$CATALINA_BASE/conf/context.xml文件中:所有Web应用程序将加载Context元素信息。
2、在$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default文件中:Context元素信息将由该主机的所有Web应用程序加载。
除了server.xml之外,定义Context元素的文件只能定义单个Context元素。

除了明确指定的Context元素之外,还有几种技术可以为您自动创建Context元素。有关详细信息,请参阅自动应用程序部署和用户Web应用程序。

要定义使用单个WAR文件或目录的多个上下文,请使用上面“命名”部分中描述的选项之一创建具有与基本文件名无关的路径的上下文。


关注我的技术公众号,查看更多优质技术文章推送

微信扫一扫下方二维码即可关注:

关注我的技术公众号,查看更多优质技术文章推送

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hailushijie

您的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值