Connector
属性 | 含义 | 默认值 |
---|---|---|
port | Connector监听请求的端口号 | 0 |
protocol | 使用的协议 | HTTP/1.1 |
connectionTimeout | 从接受客户端请求TCP socket的时刻开始,到请求方发现被发送到Tomcat为止,Connector可以等待的(可设定的)时间长短。默认为1分钟。 | 60000 |
redirectPort | 如果该Connector是针对普通的HTTP(非-SSL),并为匹配的安全约束要求的SSL传输接收了一个请求,则Tomcat将给指定的端口号执行重定向。 | 443 |
maxHttpHeaderSize |
tomcat可以传输与接收的http请求或响应标题的最大长度,以字节为单位 说明:有时候传递过长的信息,后台接收到的参数会被截断就是因为这个限制 | 8192(8K) |
URIEncoding | 一旦是URL解码,则为URI使用字符编码 | ISO8859-1 |
maxPostSizePOST | 请求参数的最大值,将由容器自动分析。 | 2097152(2MB) |
maxSavePostSizePOST | 请求参数的最大值,在认证过程中将由容器保存。 | 4096(4kB) |
maxThreads | 该Connector应并发运行的请求处理线程最大数。如果把该值设得太高,则服务器将无法阻挡线程调度且需要太长的时间才能完成请求。如果设置太小,则Tomcat将不能充分利用服务器计算机的硬件资源,而请求的时间比所需要的时间要长。 | 200 |
connectionTimeout | 从接受客户端请求TCP socket的时刻开始,到请求方发现被发送到Tomcat为止,Connector可以等待的(可设定的)时间长短。默认为1分钟。 | 60000 |
connectionUploadTimeout | 在Tomcat处理请求的时候,Connector默认一直打开请求socket,直到过了1分钟的connectionTimeout为止。此时,Connector将关闭socket。但是,如果请求的内容是一个长期运行的servlet,如文件上传,则会引发问题。在请求映射到servlet的时侯,Tomcat将使用connectionUploadTime-out属性以毫秒为单位指定的较长的时延。默认30000毫秒(3分钟)。 | 300000 |
disableUploadTimeout | 即使是对很长的servlet请求,如上传,Tomcat还应该使用常规的connectionTimeout处理请求socket的连接吗?设置disableUploadTimeout为true,允许不用Connector关闭连接而继续为长请求的servlet服务。将其设为false意味着在处理对servlet的请求时将使用很长的连接时延(connectionUploadTimeout的值),同时意味着对所有类型的请求将使用 connectionTimeout属性中指定的很小连接时延。 | 在Connector实现与Tomcat版本之间,该属性的默认值是不一致的。强烈推荐将其显式设置为true或false |
connectionLinger | 当这一Connector关闭了客户端请求soket的连接后,则该连接将按配置参数延时一定数量的时间。将该属性设置为要延时的时间数(以毫秒为单位),或者设置为-1,表示禁止拖延。 | -1 |
executor
该元素 可用于tomcat 6.0.11以及更高版本.允许您为一个service的所有connector配置一个共享线程池.在运行多个connector的状况下,这样处理非常有用,而且每个connector必须设置一个maxThread值,但不希望tomcat实例并发使用的线程最大数永远与所有连接器maxThread数量的总和一样高.这是因为如果这样处理,则需要占用太多的硬件资源.相反,您可以使用executor元素配置一个共享线程池,而且所有的connector都能共享这个线程池
为了让连接器使用executor的线程池,则在server.xml文件中,executor必须列示在connector之前.
属性 | 含义 | 默认值 |
---|---|---|
className | Executor实现的完全限定的Java类名 | org.apache.catalina.core.StandardThread- Executor |
daemon | 决定这一Executor的线程是否应该为后台线程。false如果JVM中的所有其他非后台线程都结束了,则后台线程结束。 | false |
name | 共享线程池的名字。这是Connector为了共享线程池要引用的名字。该名字必须唯一 | None;需要的参数 |
namePrefix | 在JVM上,每个运行线程都可以有一个name字符串。这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追 加到这一前缀的后面 | tomcat-exec- |
maxIdleTime | 在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间(以毫秒为单位)。只有当前活跃的线程数大于minSpareThread的值,才会关闭空闲线程 | 60000(一分钟) |
maxThreads | 该线程池可以容纳的最大线程数 | 200 |
minSpareThreads | Tomcat应该始终打开的最小不活跃线程数 | 25 |
threadpriority | 整数值,表示线程池中所有线程的线程优先权。要获得有关线程优先权的详细解释,参见 java.lang.Thread的Java 1.5(及更高版本)Javadoc网页 | Thread.NORM_PRIORITY |
host
Host元素代表一个主机(或者虚拟主机)计算机,其请求在给定的Engine中进行处理.
属性名 | 使用对象 | 含义 | 默认值 |
---|---|---|---|
appBase | all | 这一Host的Web应用程序目录的路径(Web应用程序和/或WAR文件驻留的目录)。可以是CATALINAHOME的相对路径,或者是绝对路径 | 无,必要的元素 |
autoDeploy | all | Boolean型表值,在Tomcat正运行时,决定Tomcat是否自动部署最佳到Host的appBase目录中的新Web应用程序。如果该属性被设置为true,则在Tomcat正运行时,在appBase目录中追加Web应用程序的解包目录或WAR文件,则Tomcat将立即对其实现部署。请参见第3章有关autoDeploy的详细信息与示例 | true |
className | all | Host容器实现的完全限定类名。该类必须实现org.apache.catalina.Host | true |
deployOnStartup | all | Boolean型标记,决定Tomcat在启动时是否自动部署在Host的appBase目录下找到的Web应用程序。参见第3章,了解deployonStartup的详细信息与示例 | true |
deployXML | S(标准主机) | Boolean型标记,决定Tomcat是否在CATALINA_HOME/conf/[engine-name] /thost-name]目录下自动部署拥有context XML片段文件的Web应用程序 | true |
errorReportValveClass | S | 允许由Java开发者定制错误网页,必须实现org.apache.catalina.Valve |
org.apache. catalina.valves. ErrorReportvalve |
name | all | Host名。在所有Engine的Host名中,必须惟一 | 无,必要的属性 |
uppackWars | S | 决定在Tomcat启动Web应用程序之前是否解包WAR文件的标志。如果为true,则Tomcat在解压目录之外提供Web应用程序的资源。如果为false,则在压缩的的WAR文件之外提供Web应用程序的资源 | true |
workDir | S | 除了在Contexts指定不同的workDir之外,在该Host中所有Web应用程序使用的临时文件路径名 | ${catalinabase}/work |
xmlNamespaceAware | all | 该标志知道启用或禁用XML命名空间。 设置该值与xmlValidation为true,表示对web.xml文件执行有效性检验 | false |
xmlValidation | all | 决定Tomcat是否对web.xm1文件执行有效性检验的标志。在大部分Tomcat版本中,该功能不是很有用,因为XML分析器与一直到Sun JDK1.6.0(包括1.6.0)的JVM中的XML分析器不兼容 | false |
context
Context代表Tomcat实例中的Web应用程序,网站至少是由一个contexts构成的
属性 | 含义 | 默认值 |
---|---|---|
allowlinking | 如果应用程序是未解包的目录,则允许同步链接到驻留在应用程序的docBase目录外的文件或目录 | false |
annotationProcessor | 处理Servlet 2.5Web应用程序注解的完全限定Java实现类 | none |
antiJARLocking | 避免在Windows上锁定JAR | false |
antiResourceLocking | 避免在Windows上锁定资源 | false |
cacheMaxSize | 该Context的最大静态资源缓存值(以KB为单位) | 10240 |
cacheTTL | 缓存刷新之间的活跃时间(The Time To Live,TTL)间隔,以毫秒为单位 | 5000 |
cachingAllowed | 启用或禁用Context的静态资源缓存的标志 | true |
caseSensitive | 为context核实是否启用或禁用URL区分大小写的标志 | true |
cookies | 启用或禁用与该context交互的会话ID对应的cookies | true |
crossContext | 指定ServletContext.getContext(otherwebApp)是否会成功(true)或返回null(false) | false |
delegate | 该标志启用或禁用类加载器,决定是否对该网页内容(context)的Web应用程序类加载器授权。除非您知道要处理什么事情,否则不对该选项进行设置 | false |
docBase | 路径。对应于Web应用程序解包目录或WAR文件的路径。如果指定相对路径,则该路径是Host的appBase目录的相对路径。不要把docBase的值设置为包含appBase命名头的值。例如,如果appBase="deploy",则不要给docBase选择如"deployment-webapp"的值。这样处理将导致部署错误 | 无,必要的 |
path | 相对于Web应用程序应映射Web服务器根目录("/”)的URI路径。把该属性设置为空字符出("”)表示该Web应用程序应为根Web应用程序。除非Context元素处于serverxml文件中,否则不能设置该属性 | 无 |
privileged | 设置该网页内容属性为true,表示允许该Web应用程序有权访问Tomcat的内部对象和类。对不信任的Web应用程序,不要将该属性设为true,因为授权的Web应用程序能控制Tomcat | false |
reloadable | 该标志启用或禁用对该网页内容重新加载Web应用程序类 | false |
swallowOutput | 在执行servlet的时候,设置该标志将使所有对System.out和Syestem.err的信息重定向为该网页内容的日志 | false |
unloadDelay | 在消除引用servlet并允许把servlet放入回收站之前,该网页内容卸载servlet所允许等待的毫秒数。从Tomcat 5.5.13开始,就可以使用该属性 | 2000 |
unpackWAR | 把该标志设为true,使Tomcat自动解包Web应用程序的WAR文件并提供解包目录之外的Web应用程序的资源 | true |
useNaming | 该标志启用或禁用为该应用程序创建JNDI网页范围 | true |
workDir | Web应用程序的临时文件目录的路径名。如果不设置该属性,则表示继承Host的workDir | None |
参考资料:《TOMCAT权威指南》中国电力出版社