配置Tomcat的元素

首先推荐http://book.51cto.com/art/200811/97600.htm,根据这里的讲解可以很清楚的知道tomcat如何配置<context>元素。

 

下面是从网上搜集的一些信息供大家参考:

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会话的创建和维持。
本文摘自:
http://edu.codepub.com/2010/0412/21869.php

 

更多内容可参考“Tomcat中Context是什么用的

### Tomcat 配置文件中的 `<Connector>` 元素解释 `<Connector>` 是 Tomcat 中非常重要的配置元素之一,用于定义服务器接收连接请求的方式。此元素可以指定多个实例来处理不同类型的网络协议。 对于 HTTPS 连接,确保正确指定了 `keystoreFile` 和 `keyAlias` 参数非常重要[^1]。如果 Tomcat 无法找到密钥库中指定的别名,则可能会导致错误发生。需要注意的是,`keyAlias` 的值可能是区分大小写的。 以下是典型的 `<Connector>` 配置参数说明: - **port**: 定义监听端口号,默认情况下 HTTP 使用8080端口。 - **protocol**: 指定使用的协议类型,如HTTP/1.1 或者 AJP/1.3。 - **address**: 绑定到特定 IP 地址上监听传入连接 (可选)。 - **redirectPort**: 当使用非 SSL 协议时重定向至安全端口 (通常为443)。 - **URIEncoding**: 设置 URI 编码方式,默认 UTF-8。 - **connectionTimeout**: 超时时间设置,单位毫秒。 - **maxThreads**: 最大线程数,即并发处理的最大请求数量。 - **minSpareThreads**: 最小备用线程数量,在空闲状态下保持一定数量的工作线程准备接受新请求。 - **enableLookups**: 是否启用 DNS 查找功能,默认开启但会影响性能。 - **acceptCount**: 接受队列长度,当所有可能的请求处理线程都在忙于工作时,允许的最大等待请求数目。 - **disableUploadTimeout**: 文件上传超时时是否禁用 socket timeout 功能。 - **useBodyEncodingForURI**: 对于 POST 请求的数据编码是否应用于解码 URI 字符串。 - **secure**: 如果 Connector 支持加密通信则设为 true。 - **scheme**: URL scheme 名称,例如 http 或 https。 - **clientAuth**: 客户端认证模式,none/want/true(需要),仅适用于SSL/TLS连接。 - **sslProtocol**: 明确指出要使用的 SSL 版本。 - **keystoreFile**: 密钥存储路径位置。 - **keystorePass**: 访问密钥库所需的密码。 - **keyAlias**: 在密钥库内的私钥条目的别名名称。 ```xml <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/path/to/myKeystore.jks" keystorePass="changeit" keyAlias="myKey"/> ``` 关于集群配置方面,通过设置 `className` 属性可以选择合适的类来提供集群能力,该属性自 Tomcat 5.x 版本起就被包含进来支持集群部署[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值