tomcat的conf/server.xml的元素

来源:互联网 发布:java数据分析语言 编辑:程序博客网 时间:2024/05/16 04:04
 

不含Loader、Manager、Resources元素

<Server
className=一个Java implementation的类名。该implementation实现了org.apache.catalina.Server接口。若没有指定,则使用标准implementation。
port=指定等待shutdown命令的端口号。-1表示禁用端口。
shutdown=shutdown命令的命令字符串。
>
Server元素能嵌套Service元素、GlobalNamingResources元素;

<Service
className=一个Java implementation的类名。该implementation实现了org.apache.catalina.Service接口。若没有指定,则使用标准implementation。
name=指定一个service的名字,用于日志中区别不同的service;
>
Service元素能嵌套Connector、Engine、Host元素;
Service元素能被嵌套在Server元素;

<Connector
allowTrace=默认为false。是否允许TRACE HTTP。
emptySessionPath=默认为false。是否设置所有的会话cookies的路径为“/”。启用将影响服务器性能。
enableLookups=默认为true。是否将主机IP解析为主机名返回。
maxPostSize=默认为2097152(2M)。指定POST表单提交数据的最大字节数。0为禁用。
maxSavePostSize=默认为4096(4K)。指定表单验证过程中保持/缓存数据的最大字节数。设为-1表无限制,0为禁用。
protocol=默认为“HTTP/1.1”。也可为“AJP/1.3”。
proxyName=指定request.getServerName()调用返回的代理服务器的主机名。
proxyPort=指定request.getServerPort()调用返回的代理服务器的端口号。
redirectPort=指定需要SSL加密请求重定向的端口。
scheme=默认为“http”。指定调用request.getScheme()返回的协议名。
secure=默认为false。指定调用request.isSecure()返回的布尔值。如使用SSL时应指定为true。
URIEncoding=默认为“ISO-8859-1”。指定URL形如“%xx”的编码。
useBodyEncodingForURI=默认为false。指定是否使用网页内容的编码来编码URL,而不是使用URIEncoding。
useIPVHosts=默认为false。是否使用按IP来访问虚拟主机。
xpoweredBy=默认为false。指定是否使用tomcat公布支持的Servlet规范中推荐的头。
####(以下为protocol为HTTP时,特有的属性)####
acceptCount=默认为100。指定传入连接的最大队列长度。
address=当一台tomcat服务器有多个IP,指定在哪个IP监听指定端口。默认每个IP都监听。
bufferSize=默认为2048(2K)。指定该connector创建的缓冲的大小。
compressableMimeType=默认为“text/html,text/xml,text/plain”。该值是一个可用HTTP压缩的MIME类型的逗号分隔的列表。
compression=默认为off。指定是否启用HTTP/1.1 GZIP压缩。可为off,表示不压缩;force,表示总是压缩,或者为一数值,表示超过该数值才压缩,如果不能知道大小,则总是压缩。
connectionLinger=默认为-1。指定socket linger的微秒数。-1表示禁用。
connectionTimeout=默认为60000。指定连接超时的微秒数。
disableUploadTimeout=默认为true。指定是否允许servlet容器有更长的超时。
maxHttpHeaderSize=默认为4096(4K)。指定请求的最大HTTP头。
maxKeepAliveRequests=默认为100。指定连接最大请求数。1表示使keep-alive失效(HTTP1.0、1.1),-1表示无限制。
maxSpareThreads=默认为50。指定线程池中从未使用过的线程的最大数量。
maxThreads=默认为200。指定最大线程数。这决定connector能同时处理多少个请求。
minSpareThreads=默认为4。指定connector第一次启用时,创建的线程数。该数值应该比maxSpareThreads小。
noCompressionUserAgents=默认为空字符串。逗号分割的正则表达式列表,用于匹配那些不需要使用压缩的HTTP客户端的user-agent。因为这些客户端,尽管声称支持压缩特性,但是没有完整实现。
port=指定tomcat TCP协议的监听端口号。
restrictedUserAgents=默认为空字符串。逗号分割的正则表达式列表,用于匹配那些即使支持也不需要使用keep-alive的HTTP客户端user-agent(HTTP1.0、1.1)。
server=一般不指定。覆盖HTTP请求的server头。
socketBuffer=默认为9000。指定套接字输出的缓存的字节数。-1表示禁用。
strategy=默认为“lf”,不使用master线程。“ms”表示使用master监听线程。通过指定threadPriority属性可以使master策略工作得更好。
tcpNoDelay=默认为true。可以提高性能。
threadPriority=默认为“java.lang.Thread#NORM_PRIORITY”。JVM请求处理线程的优先级。
####(以下为secure为true时,特有的属性)####
algorithm
clientAuth
keystoreFile
keystorePass
keystoreType
sslProtocol
ciphers
keyAlias
truststoreFile
truststorePass
truststoreType
allowUnsafeLegacyRenegotiation
/>
Connector使tomcat能作为一个独立的服务器使用;
Connector元素不能嵌套元素;
Connector元素能被嵌套在Service元素;

<Context
backgroundProcessorDelay=默认为-1。这个值代表在该host及其子容器(包括所有的wrappers)上调用backgroundProcess方法的延时,以秒为单位。如果延时值非负,子容器不会被调用,这意味着子容器使用自己的处理线程。如果该值为正,会创建一个新的线程。在等待指定的时间以后,该线程在Host及其子容器上调用backgroundProcess方法。Host使用后台处理进行与web应用实时发布有关的操作。-1表示host依赖其所属的Engine的后台处理。
className=一个Java implementation的类名。该implementation实现了org.apache.catalina.Context接口。若没有指定,则使用标准implementation。
cookies=默认为true。指定是否为session identifier communication使用cookies,否则只依靠应用的URL重写。
crossContext=默认为false。指定是否ServletContext.getContext() 调用能为该虚拟主机上的其它应用返回请求调度。
docBase=默认为“webapps”。指定应用的根目录或对应的war文件路径。如果使用META-INF/context.xml来配置Context,该字段不能被设置。
override=默认为false。指定是否用该Context元素的设置覆盖其所属Host元素的默认设置。
privileged=指定是否允许该context使用servlet容器。
path=指定应用的URL路径,如http://192.168.1.199:8080/jforum-2.1.9。当不设置该字段时,tomcat自动使用docBase属性或context的.xml配置文件名。
reloadable=默认为false。指定当变动WEB-INF/lib和WEB-INF/classes时,是否不需要重启tomcat。
wrapperClass=一个org.apache.catalina类的名字。若没有指定,则使用默认标准值。
useHttpOnly=默认为false。指定是否阻止客户端脚本访问会话ID。
####(以下为standard implementation特有的属性)####
allowLinking=默认为false。是否支持应用使用符号连接。
antiJARLocking=默认为false。指定是否消除JAR文件锁定。
antiResourceLocking=默认为false。指定是否阻止文件锁定。
cacheMaxSize=默认为10240。指定静态资源缓存的KB数。
cacheTTL=默认为5000。指定缓存生存期的毫秒数。
cachingAllowed=默认为true。指定是否为静态资源缓存。
caseSensitive=默认为true。指定是否大小写敏感。
processTlds=默认为true。指定context是否在启动的时候需要处理TLD。
swallowOutput=默认为false。是否允许System.out、System.err重定向到web application logger。
tldNamespaceAware=默认为false。If the value of this flag is true, the TLD files XML validation will be namespace-aware. If you turn this flag on, you should probably also turn tldValidation on. The default value for this flag is false, and setting it to true will incur a performance penalty.
tldValidation=默认为false。If the value of this flag is true, the TLD files will be XML validated on context startup. The default value for this flag is false, and setting it to true will incur a performance penalty.
unloadDelay=默认为2000。指定容器等待servlet unload的毫秒数。
unpackWAR=默认为true。指定是否解压war文件。
useNaming=默认为true。指定是否为该应用启用JNDI InitialContext。
workDir=指定servlet的临时目录。默认使用$CATALINA_HOME/work目录下应用对应的目录。
>
Context元素代表一个web应用,context path为空的的Context被作为默认的web应用;
app/WEB-INF/web.xml用于配置welcome页面、filterlistener、servlet、servlet-mapping、启动加载级别等等;
Context元素能嵌套Loader、Manager、Realm、Resources、WatchedResource元素。
Context元素能被嵌套在Host元素。

<Context ...>
#相当于WEB-INF/web.xml:<context-param>
    <Parameter
        description=关于该Context初始化参数的描述;
        name=该Context初始化参数的名字;
        override=默认为true。指定是否覆盖WEB-INF/web.xml中的配置;
        value=指定请求ServletContext.getInitParameter()调用时,提交给应用的参数值;
    />
#相当于WEB-INF/web.xml:<env-entry>
    <Environment
        description=关于该环境变量的描述;
        name=该环境变量的名称;
        override=默认为true。指定是否覆盖WEB-INF/web.xml中的配置;
        type=指定变量类型。可以是java.lang.Boolean、java.lang.Byte、java.lang.Character、java.lang.Double、java.lang.Float、java.lang.Integer、java.lang.Long、java.lang.Short、java.lang.String;
        value=环境变量的值;
    />
#相当于WEB-INF/web.xml:<resource-ref>
    <Resource
        auth=可为“Application”或“Container”;
        description=关于该资源的描述;
        name=
        scope=默认为“Shareable”。指定资源的作用域,只可为“Shareable”或“Unshareable”。
        type=
    />
####
    <ResourceLink
        global=
        name=
        type=
    />
####
    <Transaction
        factory=
    />
    #用于java知道其是否started/stoped
    <Listener className="com.mycompany.mypackage.MyListener" ... >
</Context>

<GlobalNamingResources>
#相当于WEB-INF/web.xml:<context-param>
    <Resource
        auth=
        description=
        name=
        scope=
        type=
    />
#相当于WEB-INF/web.xml:<env-entry>
    <Environment
        description=
        name=
        override=
        type=
        value=
    />
</GlobalNamingResources>
GlobalNamingResources元素定义全局JNDI资源;
GlobalNamingResources元素能嵌套Resource元素、Environment元素;
GlobalNamingResources元素能被嵌套在Server元素;

<Valve
className=
directory=
pattern=
prefix=
resolveHosts=
suffix=
rotatable=
condition=
fileDateFormat=
/>
Valve元素代表一个元素的日志输出或者请求过滤;
Valve元素不能嵌套元素;
Valve元素能被嵌套在Engine,Host,Context元素;

<Realm
className=
digest=
digestEncoding=
####className="org.apache.catalina.realm.JDBCRealm"####
allRolesMode=
connectionName=
connectionPassword=
connectionURL=
driverName=
roleNameCol=
userCredCol=
userNameCol=
userRoleTable=
userTable=
####className="org.apache.catalina.realm.DataSourceRealm"####
allRolesMode=
dataSourceName=
localDataSource=
roleNameCol=
userCredCol=
userNameCol=
userRoleTable=
userTable=
####className="org.apache.catalina.realm.JNDIRealm"####
allRolesMode=
alternateURL=
authentication=
connectionName=
connectionPassword=
connectionURL=
contextFactory=
derefAliases=
protocol=
roleBase=
roleName=
roleSearch=
roleSubtree=
userBase=
userPassword=
userPattern=
userRoleName=
userSearch=
userSubtree=
####className="org.apache.catalina.realm.UserDatabaseRealm"####
allRolesMode=
resourceName=
####className="org.apache.catalina.realm.MemoryRealm"####
allRolesMode=
pathname=
####className="org.apache.catalina.realm.UserDatabaseRealm"####
resourceName=
####className="org.apache.catalina.realm.JAASRealm"####
allRolesMode=
appName=
userClassNames=
roleClassNames=
useContextClassLoader=
/>
Realm元素代表一个数据库的用户名、密码、角色;
Realm元素不能再嵌套其它元素;
Realm元素能被嵌套在Engine,Host,Context元素;

<Engine
backgroundProcessorDelay=默认为10。
className=一个Java implementation的类名。该implementation实现了org.apache.catalina.Engine接口。若没有指定,则使用标准implementation。
defaultHost=指定默认的虚拟主机。
jvmRoute=
name=引擎名
>