Tomcat Context

摘自 http://blog.youkuaiyun.com/yuanhl2007/article/details/4400458
Tomcat Context

【几个Note】
1,Tomcat配置文件server.xml区分大小写,例如docbase不会当初docBase,写错了容器会默认docBase与path的值相同,而不是docbase的值。
2,在server.xml中定义Context节点,可以覆盖webapps中的与path相同的文件夹。
3,尝试定义相同的Context的pathName会导致Tomcat无法启动
4,几个Context可以指向同一个docBase

【Context】
功能:
WebApplicationArchive描述符
存在位置:
$CATALINA_HOME/conf/context.xml
$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default
$CATALINA_HOME/conf/[enginename]/[hostname]/*.xml
$CATALINA_HOME/webbase/appDirName/META-INF/context.xml
Server.xml中的Host节点内
属性:
backgroundProcessorDelay
className 实现org.apache.catalina.Context接口
cookies 是否允许cookie
crossContext 是否允许应用程序交互调用ServletContext.getContext()
docBase Context根目录。
override 是否覆盖host的默认context配置
path 应用程序的url路径。每个host的所有app的path必须不同。注意,这个只有在server.xml中定义context时才使用,一般通过文件名或目录名自动推断。
privileged 是否允许使用container servlets, 就像manager servlet
reloadable 是否监测和加载/WEB-INF/classes/和/WEB-INF/lib中的类文件的更新。
wrapperClass 实现org.apache.catalina.Wrapper接口的类。
allowLinking,antiJARLocking,antiResourceLocking,cacheMaxSize,cacheTTL,cachingAllowed,caseSensitive,processTlds,swallowOutput,tldNamespaceAware,tldValidation,unloadDelay,unpackWAR,useNaming,workDir
子节点:
Loader 类加载器。最多一个
Manager http会话的创建、销毁和保持的管理类。最多一个
Realm 授权管理。最多一个
Resources 资源管理类。最多一个
WatchedResource 监控资源,字符串。自动加载器会随时更新这个资源。

【Loader】
说明:
放在Context节点内
属性:
className 实现接口org.apache.catalina.Loader的类加载器,默认org.apache.catalina.loader.WebappClassLoader
delegate true表示加载前先问上级loader,同java一般模式;false,先从本loader开始尝试加载
reloadable 是否监控类文件变化,实时更新加载。

【Manager】
说明:
放在Context内,管理每个webapp的http会话的创建和维持。
### Tomcat Context 配置与使用 #### 什么是Context? `<Context>` 是Tomcat中的一个重要组件,它代表了一个Web应用程序的上下文环境。每个部署的应用程序都有自己的`<Context>`实例,用于定义该应用的各种属性和资源路径。 #### `<Context>` 的位置 通常情况下,可以找到多个地方来设置`<Context>`: - **全局配置**:位于 `$CATALINA_HOME/conf/context.xml` 文件内,这里的配置适用于所有已部署的应用。 - **特定应用配置**:对于单个webapp来说,可以在其 `META-INF/context.xml` 中指定特殊参数;也可以通过在服务器端conf目录下的相应子文件夹里放置名为context.xml的文档来进行个性化设定[^1]。 #### 主要配置项解释 以下是几个重要的配置选项及其作用说明: | 属性名 | 描述 | | --- | --- | | path | 定义访问此WebApp时使用的URL前缀,默认为空字符串(`""`)表示根路径。| | docBase | 应用的实际物理存储位置,即WAR包解压后的目录或是源码所在的位置。| | reloadable | 设置为true则允许热加载功能开启,当检测到类变化会自动重新加载整个application (开发阶段推荐启用) 。| 示例代码展示如何自定义一个简单的`<Context>`片段: ```xml <!-- Example of a minimalistic custom context --> <Context> <!-- Specifies the URL pattern used to access this application --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Enables automatic reloading when classes change during development --> <Resources cachingAllowed="false"/> <!-- Other configurations... --> </Context> ``` 为了使更改生效并验证是否正确设置了`<Context>`,记得按照指示重启Tomcat服务[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值