2 属性
2.1 公共属性
2.2 标准实现
除了上面列出的常见的连接器属性,标准的HTTP连接器(BIO,NIO和APR/native)都支持以下属性。
属性 |
描述 |
acceptCount |
当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度。当队列满时收到的任何请求将被拒绝。默认值是100。 |
acceptorThreadCount |
用于接受连接的线程的数量。在一个多CPU的机器上,增加该值,虽然你可能不会真正需要超过2个。此外,有很多非保持活动连接,您可能需要增加这个值。默认值是 1。 |
acceptorThreadPriority |
接收器线程的优先级。该线程用来接受新的连接。默认值是5(java.lang.Thread.NORM_PRIORITY常量)。更多这个优先级是什么意思的详细信息,请查看java.lang.Thread的类的JavaDoc 。 |
address |
对于拥有多个IP地址的服务器,该属性指定哪个地址将被用于在指定端口上监听。默认情况下,该端口将被用于与服务器相关联的所有IP地址。 |
bindOnInit |
控制连接器绑定时套接字的使用。缺省情况,当连接器被启动时套接字被绑定和当连接器被销毁时套接字解除绑定。如果设置为false,连接器启动时套接字被绑定,连接器停止时套接字解除绑定。 |
compressableMimeType |
该值是一个被用于HTTP压缩的逗号分隔的MIME类型列表。默认值是text / html类型,为text / xml,text / plain。 |
compression |
为了节省服务器带宽,连接器可以使用HTTP/1.1 GZIP压缩。可接受的参数的值是“off ”(禁用压缩),“on ”(允许压缩,这会导 致文本数据被压缩),“force ”(强制在所有的情况下压缩),或者一个整数值(这是相当于为“on”,但指定了输出之前被压缩的数据最小量)。如果 不知道内容长度但被设置为“on”或更积极的压缩,输出的数据也将被压缩。如果没有指定,该属性被设置为“关”。 注意:这是使用压缩(节省您的带宽)和使用sendfile功能(节省你的CPU周期)之间的权衡。如果连接器支持sendfile功能,例如 NIO连接,则使用sendfile将优先于压缩。症状是48 KB的静态文件将未压缩就发送。你可以如下文所述通过设置连接器的useSendfile 属性来关闭sendfile,或在默认的conf/web.xml或者你的web应用的web.xml中配置DefaultServlet来改变sendfile的使用量阈值。 |
compressionMinSize |
如果压缩被设置为“on”,那么该属性可以用于指定在输出之前被压缩的数据的最小量。如果未指定,此属性默认为“2048”。 |
connectionLinger |
连接器的套接字被关闭时的逗留秒数。如果没有指定,将使用默认的JVM。 |
connectionTimeout |
在将提交的请求URI行呈现之后,连接器将等待接受连接的毫秒数。使用值-1表示没有超时(即无限)。默认值是60000(60秒),但请注意,Tomcat的标准server.xml中,设置为20000(即20秒)。 |
connectionUploadTimeout |
上传数据过程中,指定的以毫秒为单位超时时间。只有在设置disableUploadTimeout为false有效。 |
disableUploadTimeout |
此标志允许servlet容器在数据上传时使用不同的连接超时,通常较长。如果没有指定,该属性被设置为true,禁用上传超时。 |
executor |
指向Executor元素的引用。如果这个属性被设置,并且被命名的executor存在,连接器将使用这个executor,而其他所有线程相关属性将被忽略。请注意共享的executor如果没有指定到一个连接器,则该连接器将使用一个私有的,内部的executor来提供线程池。 |
KeepAliveTimeout |
此连接器在关闭连接之前将等待另一个HTTP请求的毫秒数。默认值是使用已设置的connectionTimeout属性的值。使用值-1表示没有超时(即无限)。 |
maxConnections |
在任何给定的时间服务器接受并处理的最大连接数。当这个数字已经达到了,服务器将不会接受任何连接,直到连接的数量降到低于此值。基于 acceptCount的设置,操作系统可能仍然接受连接。默认值根据不同的连接器类型而不同。对于BIO,默认的是maxThreads的值,除非使用 了Executor,在这种情况下默认值是executor的maxThreads值 。对于NIO的默认值是10000。APR /native的默认值是8192。 需要注意的是Windows系统的APR/native,所配置的值将减少到小于或等于maxConnections的1024的倍数的最大值。这样做是出于性能方面的考虑。 |
maxHttpHeaderSize |
请求和响应的HTTP头的(以字节为单位的)最大尺寸。如果没有指定,该属性被设置为8192(8 KB)。 |
maxKeepAliveRequests |
HTTP请求最大长连接个数。将此属性设置为1,将禁用HTTP/1.0、以及HTTP/1.1的长连接。设置为-1,不禁用。如果没有指定,该属性被设置为100。 |
maxThreads |
最多同时处理的连接数,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。如果没有指定,该属性被设置为200。如果使用了execute将忽略此连接器的该属性,连接器将使用execute,而不是一个内部线程池来处理请求。 |
maxTrailerSize |
限制一个分块的HTTP请求中的最后一个块的尾随标头的总长度。如果该值是-1,没有限制的被强加。如果没有指定,默认值是8192。 |
minSpareThreads |
始终保持运行最小线程数。如果没有指定,则默认为10。 |
noCompressionUserAgents |
该值是一个正则表达式(使用java.util.regex),匹配不应该使用压缩的HTTP客户端的用户代理标头。因为这些客户端,虽然他们宣称支持压缩功能,但实现不完整。默认值是一个空字符串(正则表达式匹配禁用)。 |
processorCache |
协议处理器缓存Processor对象以提高性能。此设置规定了这些对象有多少能得到缓存。-1意味着无限制,默认为200。如果不使用 Servlet 3.0的异步处理,一个好的默认是使用maxThreads设置。如果使用Servlet 3.0的异步处理,一个好的默认是使用 maxThreads和最大预期的并发请求(同步和异步)的最大值中的较大值。 |
restrictedUserAgents |
该值是一个正则表达式(使用java.util.regex),匹配用户代理头的HTTP浏览器将不能使用HTTP/1.1或HTTP/1.0长连接,即使该浏览器宣称支持这些功能的。默认值是一个空字符串(正则表达式匹配禁用)。 |
server |
覆盖服务器的HTTP响应头。如果设置了这个属性的值将覆盖Web应用程序设置的Tomcat的默认头和任何服务器头。如果没有设置,应用程序指定 的任何值将被使用。如果应用程序没有指定一个值,那么Apache-Coyote/1.1将被使用。除非你是偏执狂,你将不再需要此功能。 |
socketBuffer |
为套接字输出缓冲而提供的缓冲区的大小(以字节为单位)。-1可以被指定来禁止使用的缓冲区。默认情况下,一个9000个字节的缓冲区将被使用。 |
SSLEnabled |
在连接器上使用此属性来启用SSL加密传输。如果要打开SSL握手/加密/解密,请设置true。默认值是false。当设置这个值为true时, 为了传递正确的request.getScheme()和 request.isSecure()到servlets,你需要设置scheme和 secure属性。更多信息请查看SSL支持。 |
tcpNoDelay |
如果设置为true,TCP_NO_DELAY选项将被设置在服务器上的套接字上,在大多数情况下,这样可以提高性能。默认设置为true。 |
threadPriority |
在JVM中请求处理线程的优先级。默认值是5(java.lang.Thread.NORM_PRIORITY常量值)。关于优先级的更多详细信息,请查看java.lang.Thread的类的JavaDoc 。 |
相关推荐
3. NIO(非阻塞I/O)改进:Tomcat 7增强了NIO连接器,提高了服务器处理并发请求的能力,提升了性能。 4. 配置简化:引入了web.xml的注解配置,使得部署描述符的编写更为简洁。 5. 新的安全特性:增加了Secure ...
Tomcat7是一款广泛使用的开源Java Servlet容器,它实现了Java EE中的Web应用服务器标准,尤其是Servlet和JSP规范。源码下载是开发者深入理解其内部工作原理的重要途径,本篇文章将围绕Tomcat7源码进行详细探讨。 一...
4. **连接器优化**:NIO(非阻塞I/O)连接器得到改善,提升了处理大量并发连接的能力。 5. **部署与热部署**:支持自动检测应用程序的更新并进行热部署,无需重启服务器。 **二、Tomcat 8** Tomcat 8是继Tomcat 7...
3. **NIO连接器**:除了传统的BIO连接器,Tomcat 7引入了基于非阻塞I/O的NIO连接器,允许处理更多并发连接,提升系统吞吐量。 4. **改进的管理工具**:Tomcat 7提供了一个增强的管理界面,用户可以通过Web管理...
首先,Tomcat7的配置主要集中在`conf`目录下,如`server.xml`是服务器的主要配置文件,用于定义服务器的端口、Connector(连接器)、Context(应用上下文)等;`web.xml`是每个Web应用的标准部署描述符,定义了应用...
1. 配置server.xml:位于解压后的Tomcat目录下的conf文件夹内,这是Tomcat的主要配置文件,可以在这里设置端口号、服务器连接器、Context等。 2. 修改端口号:默认情况下,Tomcat的HTTP端口是8080,如果需要更改,...
Tomcat7是一款广泛使用的开源Java Servlet容器,它实现了Java EE中的Web应用规范,包括Servlet、JSP和EL(Expression Language)等。本资源包含Tomcat7的源代码以及运行所需的jar包,旨在帮助开发者更深入地理解...
JRE是运行Java程序必须的环境,包含JVM标准实现和Java核心类库。 在Tomcat上实现JSP与MySQL的连接,首先需要在MySQL数据库中创建所需的数据表,并使用JDBC(Java Database Connectivity)技术通过JSP页面与数据库...
Tomcat7 API包含了JSP相关的接口和类,如JspServlet、JspPageContext等,这些使得开发者能够创建、管理JSP页面,并实现与Servlet容器的交互。 三、Context和Wrapper 在Tomcat7中,每个Web应用对应一个Context对象...
你可以通过阅读源码来理解请求处理流程、连接器、容器等核心组件的工作方式。对于高级用户或希望贡献于Tomcat社区的人来说,这是一个无价的学习资源。 总的来说,Apache Tomcat 7.0.77是一个强大且稳定的Web服务器...
Apache Tomcat 7是一款广泛应用的开源Java Servlet容器,它实现了Java EE Web应用程序规范,特别是Servlet 3.0、JSP 2.2和EL 2.2标准。这个"tomcat7资源包"包含了适用于不同操作系统平台的版本,确保用户无论在...
4. **连接器(Connector)和引擎(Engine)**: 连接器是Tomcat接收和处理请求的组件,它负责与客户端通信。引擎则负责处理所有来自其子容器的请求。源代码揭示了这两个核心组件的交互过程。 5. **上下文(Context)...
其次,Tomcat 7对连接器(Connector)进行了优化,支持更多的协议,如AJP和HTTP/1.1,可以与不同的前端代理服务器无缝配合,提升系统的可扩展性。同时,Tomcat 7在安全管理方面也有显著提升,支持基于角色的访问控制...
5. **连接器与协议**:Tomcat 7支持多种连接器,如HTTP、AJP等,用于与客户端通信。默认使用HTTP/1.1协议,但可以通过配置文件更改。 6. **线程池管理**:Tomcat 7引入了Executor,允许自定义线程池,以优化服务器...
4. **配置文件**:主要的配置文件包括`conf/server.xml`,它定义了Tomcat的端口、连接器、虚拟主机等信息;`conf/context.xml`,用于配置应用程序上下文;以及`conf/web.xml`,定义全局的Servlet和过滤器。 **四、...
5. **配置服务器**: `conf`目录包含了一系列配置文件,如`server.xml`,`web.xml`等,用于配置Tomcat的行为,如端口号、连接器、虚拟主机等。根据需求,你可以修改这些文件以定制服务器。 6. **部署应用**: 将你的...
- **连接器优化**:调整`Connector`的`maxThreads`、`minSpareThreads`等参数,平衡响应速度和资源消耗。 - **缓存设置**:启用JSP编译缓存,减少编译次数,提升性能。 6. **安全配置** - **用户认证**:配置`...
- **NIO连接器**:提供了非阻塞I/O,提升了高并发场景下的性能。 - **Jasper升级**:JSP编译器Jasper升级到2.3.0,支持JSP 2.2规范,提高了JSP的处理效率。 2. **Tomcat 8**: - **Servlet 3.1** 支持:增加了...
Tomcat是一款开源的、免费的Web应用服务器,它是Java Servlet和JavaServer Pages(JSP)技术的标准实现。由Apache软件基金会开发和维护,Tomcat在轻量级应用服务器中非常流行,因为它简单、高效并且足够处理大多数中...
【标题】:“Tomcat实现推送技术” 在Web开发中,传统的HTTP协议是基于请求-响应模型的,服务器只会在客户端发起请求时返回数据。然而,实时性需求的提升催生了服务器推送技术,使得服务器能够主动将数据推送给...