Web 容器定制属性

可以配置数据的“名称/值”对,其中名称是属性关键字而值是字符串值,可以使用这些“名称/值”对来设置内部系统配置属性。 定义新属性以配置管理控制台中可用的设置之外的设置。 以下是一些可用 Web 容器定制属性的列表。

完成以下步骤以指定 Web 容器定制属性:

  1. 在管理控制台中,单击 服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name > Web 容器设置 > Web 容器
  2. 其他属性中,选择 定制属性
  3. 从 " 定制属性 " 页面,单击 新建
  4. 在设置页面中,在 名称 字段中输入要配置的定制属性的名称,并在 字段中输入要将其设置为的值。
  5. 单击应用确定
  6. 单击控制台任务栏上的保存以保存您的配置更改。
  7. 重新启动服务器。

服务器随附了以下定制属性列表。 文档 JavaServer 特定于页面的 Web 容器定制属性HTTP 传输定制属性列示在产品文档的单独区域中。

您可以使用 "定制属性" 页面来定义以下属性,以供 Java™ 虚拟机使用。

BodyContentBuffSize

JavaServer Pages (JSP) 文件的主体内容缓冲区的大小可能会影响一些应用程序的性能。 缺省情况下,主体内容缓冲区大小为 512 字节。 但是,您可以使用 BodyContentBuffSize 定制属性来设置其他缓冲区值。

名称 缺省值
BodyContentBuffSize 512

com.ibm.ws.jsf.disablealternatefacesconfigsearch

对服务器上所有的 Web 应用程序禁用针对 META-INF/*.faces-config.xml 进行的 MyFaces 搜索。

名称 缺省值
com.ibm.ws.jsf.disablealternatefacesconfigsearch

com.ibm.ws.jsp.allowExpressionFactoryPerApp

如果其他 JavaServer Faces (JSF) 应用程序已部署在服务器中,并且使用除缺省值以外的表达式语言 (EL) 解析器,那么您部署的 JSF 应用程序可能发生以下错误:

java.lang.IllegalArgumentException:                             
argument type mismatch:.javax.el.ELException                    
..                                                              
at                                                              
org.apache.myfaces.view.facelets.el.TagValueExpression.setValue 
   (TagValueExpression.java:129)                                
at javax.faces.component.UIInput.updateModel(UIInput.java:420)  
at                                                              
javax.faces.component.UIInput.processUpdates(UIInput.java:339)  
...
要避免此错误,请将 com.ibm.ws.jsp.allowExpressionFactoryPerApp 属性设置为 true。 此定制属性装入应用程序设置的表达式工厂。 它还指示应用程序正在使用定制 EL 实现,例如需要设置其自己的表达式工厂的 Java 统一表达式语言。
名称 缺省值
com.ibm.ws.jsp.allowExpressionFactoryPerApp

com.ibm.ws.jsp.doNotEscapeWhitespaceCharsInExpression

通常,标记文件中的表达式语言 (EL) 表达式在 JavaServer Pages (JSP) 编译前进行求值。 但是,要确保语法中包含回车符 (\r) ,换行符 (\n) 或制表符 (\t) 字符的 EL 表达式不会导致 javax.el.Exceptionable 异常,请将 com.ibm.ws.jsp.expressionistic 定制属性设置为 true。 定制属性适用于整个 Web 容器。

名称 缺省值
com.ibm.ws.jsp.doNotEscapeWhitespaceCharsInExpression

要启用特定应用程序的行为,请在应用程序的 ibm-web-ext.xml 文件中将 doNotEscapeWhitespaceCharsInExpression 属性设置为 true

com.ibm.ws.jsp.enableDefaultIsELIgnoredInTag

通常,标记文件中的表达式语言 (EL) 表达式在 JavaServer Pages (JSP) 编译前进行求值。 但是,在某些情况下,如果 <el-ignored> 属性设置为 true,那么不会对标记文件中的这些 EL 表达式进行求值。

要确保始终对 EL 表达式进行求值,请将com.ibm.ws.jsp.enableDefaultIsELIgnoredInTag 定制属性设置为 true。 此属性的缺省值为 false。

名称 缺省值
com.ibm.ws.jsp.enableDefaultIsELIgnoredInTag

com.ibm.ws.jsp.expressionreturnemptystring

此属性允许您指示是否希望 JSP 容器对表达式中未设置的值返回空字符或 Null。

表达式有可能返回 Null 值,例如,对于以下表达式,当 testBean 中的 testValue 为 Null 时,情况便是如此:
<input type='text' name='test' value='<%=testBean.getTestValue()%>'maxlength=16> 

某些应用程序期望这些情况下返回空字符串而不是 Null 值。 如果您运行的应用程序期望返回空字符串,请对 Web 容器设置添加此定制属性,并将此属性设置为 true

名称 缺省值
com.ibm.ws.jsp.expressionreturnemptystring

com.ibm.ws.jsp.getWriterOnEmptyBuffer

动态高速缓存服务使用清仓操作来确定一个可高速缓存的 Web 片段(例如 JSP include 或 c:import)何时结束以及下一个 Web 片段何时开始。 如果针对 JSP 引擎将 com.ibm.wsspi.jsp.usecdatatrim 定制属性设置为 true ,那么将除去生成的 Java 代码中的所有空格和额外行。 在这种情况下,在第一次执行清仓之前,可能没有任何要写的内容。 如果生成的 Java 代码在第一次清空之前包含文本或其他代码,那么将进行正常动态高速缓存服务处理。

如果将 com.ibm.wsspi.jsp.usecdatatrim 定制属性设置为 true,并且要使用动态高速缓存服务,那么还必须将 com.ibm.ws.jsp.getWriterOnEmptyBuffer 定制属性设置为 true。 此定制属性要求 JSP 引擎在到达第一个可高速缓存的 Web 片段的末尾时调用 flush 函数,即使没有要清空的任何数据也是如此。 此属性的缺省值为 false。

名称 缺省值
com.ibm.ws.jsp.getWriterOnEmptyBuffer

com.ibm.ws.jsp.limitBuffer

JavaServer Pages (JSP) 文件的标记主体的主体内容缓冲区大小将进行复用以优化性能。 如果标记主体的大小增大到超出缺省主体内容缓冲区大小的程度,那么该缓冲区将调整大小以容纳标记主体。 但是,在处理请求之后,缓冲区不会重置为缺省大小。 因此,org.apache.jasper.runtime.BodyContentImpl 实现所使用的堆内存可能会随时间推移而增加。 您可以通过对 BodyContentBuffSize 定制属性设置一个整数值来配置主体内容缓冲区大小。 有关更多信息,请参阅 BodyContentBuffSize

使用 com.ibm.ws.jsp.limitBuffer 定制属性可以取消分配大型主体内容缓冲区大小并创建具有缺省缓冲区大小的缓冲区。

名称 缺省值
com.ibm.ws.jsp.limitBuffer

com.ibm.ws.jsp.throwExceptionForAddELResolver

如果您不希望应用程序接收到来自客户机的请求后允许从 Servlet 或过滤器中注册 ELResolver,请将 com.ibm.ws.jsp.throwExceptionForAddELResolver 属性设置为 true。 当此属性设置为 true 时,将给出 IllegalState异常,如 JspApplication上下文接口的 addELResolver() 方法的 JSP (JavaServer Pages) 规范所指定。

此属性的缺省值为 false。

名称 缺省值
com.ibm.ws.jsp.throwExceptionForAddELResolver
[z/OS]

com.ibm.ws.jsp.zosFileLockRetrying

使用 com.ibm.ws.jsp.zosFileLockRetrying 属性来指定线程继续尝试获取对 JSP 的锁定的时间(以秒计)。

JSP 文件在启动编译过程之前被锁定,在编译过程完成之后被解锁。 如果线程未能锁定 JSP ,那么该线程将继续尝试获取该 JSP 的文件锁定最多 240 秒。 如果线程无法在此时间间隔内获取锁定,那么会发出错误消息。 线程不会进行任何其他尝试来获取 JSP 的锁定。

名称 缺省值
com.ibm.ws.jsp.zosFileLockRetrying 240
[z/OS]

com.ibm.ws.jsp.zosReCompile

使用 com.ibm.ws.jsp.zosReCompile 属性来指定线程尝试锁定 JSP 的次数。

在线程获取 JSP 的锁定之后,线程会确定是否已编译 JSP。 如果未编译 JSP,那么线程会尝试编译 JSP。

如果在尝试指定次数之后,线程仍无法编译 JSP,那么会发出错误消息。 线程不会进行任何其他尝试来编译 JSP。

名称 缺省值
缺省值 5

com.ibm.ws.webcontainer.ADD_STS_HEADER_WEBAPP

从 V 9.0.0.2开始,可以为 HTTPs 请求添加 HSTS 响应头。 要启用此选项,请设置 Web 应用程序上下文参数定制属性。 显示的参数值是一个示例:

<context-param>
  <param-name>com.ibm.ws.webcontainer.ADD_STS_HEADER_WEBAPP</param-name>
      <param-value>max-age=31536000; includeSubDomains; preload</param-value>
</context-param>

(可选) 添加服务器级别的定制属性。 显示的值是一个示例:

com.ibm.ws.webcontainer.addStrictTransportSecurityHeader="max-age=31536000; includeSubDomains"
名称 缺省值
com.ibm.ws.webcontainer.ADD_STS_HEADER_WEBAPP

com.ibm.ws.webcontainer.allowDotsinName

如果请求的静态文件的名称中包含多个连续点,那么服务器会将该请求作为被禁止请求而拒绝。

当此属性设置为 true 时,将为请求的文件提供服务。

名称 缺省值
com.ibm.ws.webcontainer.allowDotsinName

com.ibm.ws.webcontainer.allowPrivAccessGetResource

对于使用 EDR(扩展文档根)选项定义的文件,不会将该文件的路径视为已安装应用程序工件的一部分。 因此,需要有特殊许可权才能访问此文件。 如果未在 Web 应用程序中为此文件提供必需的许可权,那么将发出 Java.security.AccessControlException:访问遭拒 (java.io.FilePermission) 异常。

当此属性设置为 true 时,允许应用程序访问 EDR 中定义了其路径的文件。

名称 缺省值
com.ibm.ws.webcontainer.allowPrivAccessGetResource

com.ibm.ws.webcontainer.AllowQueryParamWithNoEqual

如果 URL 中的查询参数仅包含字符串 name 而不是期望的 name=value 格式,那么服务器会将 request.getParameter(name) 查询的值返回为空。

当此属性设置为 true时,如果 URL 中的查询参数仅包含字符串 name,那么服务器将返回空字符串作为 request.getParameter(name) 查询的值。

名称 缺省值
com.ibm.ws.webcontainer.AllowQueryParamWithNoEqual

com.ibm.ws.webcontainer.appendMetaInfResourcesInLooseLib

将应用程序部署在松散配置中,并且主要用于开发环境或服务器时,此属性将移除其他路径。

名称 缺省值
com.ibm.ws.webcontainer.appendMetaInfResourcesInLooseLib

com.ibm.ws.webcontainer.asyncmaxsizetaskpool

此定制属性指定用来存放所分派的异步 Servlet 的任务队列的最大大小。

名称 缺省值
com.ibm.ws.webcontainer.asyncmaxsizetaskpool 5000

com.ibm.ws.webcontainer.asyncpurgeinterval

此定制属性指定 Web 容器应该以何时间间隔清除任务队列以释放所取消任务的资源。

名称 缺省值
com.ibm.ws.webcontainer.asyncpurgeinterval 30,000 美元

com.ibm.ws.webcontainer.channelwritetype

缺省情况下,Web 容器使用异步写,以块的形式将响应数据写入响应缓冲区,直到达到响应缓冲区大小为止。 如果响应较大,超过响应缓冲区大小,那么在等待响应数据块的异步写操作完成时,Web 容器会继续将响应数据缓存到内存。 此过程可能导致部分大型响应保存在内存中,这可能会导致内存使用率过高,并可能导致内存不足错误。 如果服务器同时处理的请求数超过 Web 容器定义的线程数,那么也可能会造成应用程序服务器挂起。

如果将 com.ibm.ws.webcontainer.channelwritetype 属性设置为 sync,那么会使用同步写,否则在缺省情况下,会使用异步写。 借助同步写,会以块的形式同步写入响应数据,直到达到 responsebuffersize 值所表示的大小为止,此后,在等待响应数据块的同步写操作完成时,不会将任何响应数据缓存到内存。 因此,存放在内存中的近似最大响应数据量等于 responsebuffersize 乘以 Web 容器线程数。 Web 容器可以同时处理的最大请求数,受 Web 容器线程数限制。 在等待进行中的请求完成时,会将其他请求放入队列。

responsebuffersize Web 容器定制属性会定义 Web 容器在单一块中写入的最大响应数据量(在缺省情况下,为 32K)。 因此,使用它来更改 Web 容器在发送完整响应数据时所需执行的写入次数。 然而,如果应用程序清空响应数据,那么不论 responsebuffersize 为何,都会立即写入 Web 容器所挂起的任何响应数据。

使用以下名称/值对,通过同步写来写入数据块。

名称 缺省值
com.ibm.ws.webcontainer.channelwritetype async

com.ibm.ws.webcontainer.checkEDRinGetRealPath

如果资源存在于 extendedDocumentRoot 路径中,而不存在于应用程序安装路径中,那么 ServletContext.getRealPath() Java Servlet API 不会返回所请求的资源的正确路径。 如果您希望在应用程序安装路径中找不到所请求的资源时 ServletContext.getRealPath() Java Servlet API 在 extendedDocumentRoot 路径中查找该资源,请将 com.ibm.ws.webcontainer.checkEDRinGetRealPath 定制属性设置为 true

如果此属性设置为 true,并且在 extendedDocumentRoot 路径中也找不到所请求使用的资源,那么将返回 Null 值。

名称 缺省值
com.ibm.ws.webcontainer.checkEDRinGetRealPath

com.ibm.ws.webcontainer.copyattributeskeyset

此定制属性会处理 request.getAttributeNames 方法返回值列表的情况。 如果 Servlet 使用 request.removeAttribute 方法来修改列表,那么对 nextElement 方法执行的后续调用会导致 java.util.ConcurrentModificationException 异常。 要使 Servlet 能够修改列表,请将 com.ibm.ws.webcontainer.copyattributeskeyset 定制属性设置为 true。 将此定制属性设置为 true 时,会返回属性列表的副本,这使 Servlet 能够修改列表,而不会导致在调用 nextElement 方法时产生 java.util.ConcurrentModificationException 异常。

名称 缺省值
com.ibm.ws.webcontainer.copyattributeskeyset

com.ibm.ws.webcontainer.decodeParamViaReqEncoding

如果入站请求 URI 不是 UTF-8 编码,但请求编码设置为 UTF-8,那么编码值在 ISO-8859 中有所不同的字符在响应中将错误显示。 例如,请求可能会发送显示为 n-tilde (-) 字符的字符。 要确保根据请求编码集对字符进行正确编码和解码,请向 Web 容器设置添加 com.ibm.ws.webcontainer.decodeParamViaReqEncoding Web 容器定制属性,并将该属性设置为 true。

名称 缺省值
com.ibm.ws.webcontainer.decodeParamViaReqEncoding

com.ibm.ws.webcontainer.deferServingRequestsUntilEarStarted

此定制属性将延迟处理请求,直到整个企业归档 (EAR) 已启动为止。

名称 缺省值
com.ibm.ws.webcontainer.deferServingRequestsUntilEarStarted

com.ibm.ws.webcontainer.deferServletRequestListenerDestroyOnError

如果此定制属性设置为 true,那么 Web 容器会启用 CDI 以在定制错误页上正常工作。

名称 缺省值
com.ibm.ws.webcontainer.deferServletRequestListenerDestroyOnError

com.ibm.ws.webcontainer.disableServletContainerInitializersOnPreV8Apps

Web 容器在启动期间扫描应用程序类,以查看它们是否与任何 ServletContainerInitializer 定义的 HandlesTypes 注释匹配。

如果要禁用该扫描并禁用 ServletContainer初始化程序支持,请将 com.ibm.ws.webcontainer.disableServletContainerInitializersOnPreV8Apps 定制属性添加到 Web 容器配置设置,并将此属性设置为 true

此属性的缺省值为 false

名称 缺省值
com.ibm.ws.webcontainer.disableServletContainerInitializersOnPreV8Apps

com.ibm.ws.webcontainer.disableSetCharacterEncodingAfterParametersRead

Web 容器将处理 ServletRequest API 的 setCharacterEncoding(String) 方法,即使是在解析发布数据后调用该方法也是如此。 根据 Java Servlet 规范,如果在解析数据之后调用方法,那么 Web 容器将忽略 setCharacter编码 (String) 方法。

如果您希望在解析数据后调用 setCharacterEncoding(String) 方法时 Web 容器忽略此方法,请对 Web 容器配置设置添加 com.ibm.ws.webcontainer.disableSetCharacterEncodingAfterParametersRead 定制属性,并将此属性设置为 true

此属性的缺省值为 false

名称 缺省值
com.ibm.ws.webcontainer.disableSetCharacterEncodingAfterParametersRead

com.ibm.ws.webcontainer.disableStaticMappingCache

com.ibm.ws.webcontainer.disableStaticMappingCache 定制属性使用户可以禁用静态高速缓存。 可以在管理控制台中设置此属性,也可以通过 web.xml 中的上下文参数来设置。

要对所有已部署的应用程序禁用静态高速缓存,请使用星号。 如果要对特定应用程序禁用静态高速缓存,请使用逗号。

例如,com.ibm.ws.webcontainer.disableStaticMappingCache=* 将为所有已部署的应用程序禁用静态高速缓存。 com.ibm.ws.webcontainer.disableStaticMappingCache=SpecialApp,RareApp 将仅为这两个应用程序禁用静态高速缓存。

还可以在 web.xml 中设置一个上下文参数以为应用程序禁用静态高速缓存。 参数名称是 com.ibm.ws.webcontainer.DISABLE_STATIC_MAPPING_CACHE,并且将参数值设置为 true

此属性没有缺省值。

名称 缺省值
com.ibm.ws.webcontainer.disableStaticMappingCache

com.ibm.ws.webcontainer.disableSystemAppGlobalListenerLoading

如果系统应用程序最先启动,且该应用程序尝试从与服务器类装入器相关联的共享库中装入全局侦听器,那么该应用程序无法装入该侦听器,并且会阻止后续的非系统应用程序装入或调用该侦听器。 将 com.ibm.ws.webcontainer.disableSystemAppGlobalListenerLoading 定制属性设置为 true,以阻止系统应用程序装入全局侦听器。 如果此属性设置为 true,那么系统应用程序不会尝试装入全局侦听器,但是后续的非系统应用程序可以从与服务器类装入器相关联的共享库中装入这些全局侦听器。

名称 缺省值
com.ibm.ws.webcontainer.disableSystemAppGlobalListenerLoading

com.ibm.ws.webcontainer.disablexPoweredBy

配置服务器安全性时,如果不希望透露运行中的服务器,可以关闭 X-Powered-By 头。 使用此定制属性可以禁用 X-Powered-By 头,这将阻止在 HTTP 响应中发送这个头。 缺省值为 false。 但是,如果要禁用这个头,请将此属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.disablexPoweredBy

com.ibm.ws.webcontainer.disallowAllFileServing

使用 com.ibm.ws.webcontainer.disallowAllFileServing 定制属性可以对特定应用程序服务器上的所有应用程序禁用文件服务。

可以使用 fileServingEnabled 定制属性,在应用程序服务器上的全局级别启用文件服务。 然而,每个应用程序的特定部署信息会覆盖 fileServingEnabled 属性。 因此,当前 fileServingEnabled 定制属性只适合于用作备份,以防应用程序本身未定义 fileServingEnabled 设置。

要在特定应用程序服务器上全局覆盖此设置,以防止该应用程序服务器处理静态文件(不论静态文件的单独部署设置为何),请使用以下名称/值对,将 com.ibm.ws.webcontainer.disallowAllFileServing Web 容器定制属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.disallowAllFileServing

com.ibm.ws.webcontainer.disallowServeServletsByClassname

如果已启用 ServeServletsByClassnameEnabled 属性,那么可直接访问 Servlet,这可能会导致安全漏洞。 定义以下定制属性,以禁止在整个应用程序服务器级别使用 ServeServletsByClassnameEnabled 属性。

名称 缺省值 有效值
com.ibm.ws.webcontainer.disallowserveservletsbyclassname

com.ibm.ws.webcontainer.discernUnavailableServlet

通常,在 Web 容器接收到 UnavailableException 时,它无法确定是 Servlet 还是分派的资源发出了异常。 因此,即使是分派的资源不可用,Web 容器仍会自动将 Servlet 标记为不可用。

如果正在 V7.0.0.5 或更高版本上运行,并且将 com.ibm.ws.webcontainer.discernUnavailableServlet 定制属性设置为 true,那么会将任何从分派的资源发出的 UnavailableException 放入包装器中。 此包装器使 Web 容器能够确定是从 Servlet 或还是从分派的资源发出了异常。 如果 Servlet 未发出异常,那么 Web 容器不会将 Servlet 标记为不可用。

名称 缺省值
com.ibm.ws.webcontainer.discernUnavailableServlet

com.ibm.ws.webcontainer.dispatcherRethrowSER

RequestDispatcher 将异常从分派的 Servlet 传播回到分派 Servlet。 这是针对前发行版中的行为进行的更改。 如果您不希望应用程序将异常抛回到正执行分派的 Servlet,请对 Web 容器的设置添加 com.ibm.ws.webcontainer.dispatcherRethrowSER 定制属性,并将此属性设置为 false

名称 缺省值
com.ibm.ws.webcontainer.dispatcherRethrowSER
受支持的配置: com.ibm.ws.webcontainer.dispatcherRethrowSError 定制属性取代 com.ibm.ws.webcontainer.dispatcherRethrowSER 定制属性。 通过将 com.ibm.ws.webcontainer.dispatcherRethrowSError 定制属性的值设置为 true 来启用此属性时,还会将 com.ibm.ws.webcontainer.dispatcherRethrowSER 定制属性设置为 true。

com.ibm.ws.webcontainer.dispatcherRethrowSError

JavaServer Pages (JSP) 文件包含编译错误时,容器将直接捕获并处理运行时错误。 异常不会传播到分派的 JSP 资源并由后者进行处理。 通过使用 com.ibm.ws.webcontainer.dispatcherRethrowSError 定制属性,异常将传播回到分派的 JSP 资源。

名称 缺省值
com.ibm.ws.webcontainer.dispatcherRethrowSError
受支持的配置: com.ibm.ws.webcontainer.dispatcherRethrowSError 定制属性取代 com.ibm.ws.webcontainer.dispatcherRethrowSER 定制属性。 通过将 com.ibm.ws.webcontainer.dispatcherRethrowSError 定制属性的值设置为 true 来启用此属性时,还会将 com.ibm.ws.webcontainer.dispatcherRethrowSER 定制属性设置为 true。

com.ibm.ws.webcontainer.displayTextWhenNoErrorPageDefined

Web 容器允许在未定义错误页面时显示定制文本。 此属性影响服务器上的所有应用程序。

要在 WebSphere Application Server中使用此属性,请设置以下 Web 容器定制属性:
com.ibm.ws.webcontainer.displayTextWhenNoErrorPageDefined="display text"
要在 Liberty 概要文件服务器中使用此属性,请在 server.xml 文件中更新以下语法:
<webContainer displaytextwhennoerrorpagedefined="display text"/>
名称 缺省值
com.ibm.ws.webcontainer.displayTextWhenNoErrorPageDefined
[z/OS]

com.ibm.ws.webcontainer.divertrecursiveexceptiontoerrorlog

在应用程序中发生递归错误时,跟踪审计方法(将消息定向到系统控制台)会记录异常消息。 如果需要改为将此消息记录在错误日志中,请对 Web 容器配置设置添加 com.ibm.ws.webcontainer.divertrecursiveexceptiontoerrorlog 定制属性,并将此属性设置为 true。 当 com.ibm.ws.webcontainer.divertrecursiveexceptiontoerrorlog property 设置为 true时,异常消息将发送到错误日志而不是系统控制台。

名称 缺省值
com.ibm.ws.webcontainer.divertrecursiveexceptiontoerrorlog

com.ibm.ws.webcontainer.donotservebyclassname

com.ibm.ws.webcontainer.donotservebyclassname 定制属性指定无法按类名处理的类列表。

名称 缺省值
com.ibm.ws.webcontainer.donotservebyclassname

com.ibm.ws.webcontainer.emptyServletMappings

如果设置为 true,那么当 getMappings() 方法请求了 Servlet 映射,但尚未添加任何映射时, com.ibm.ws.webcontainer.emptyServletMappings 定制属性将返回空集合。

名称 缺省值
com.ibm.ws.webcontainer.emptyServletMappings

com.ibm.ws.webcontainer.enabledefaultservletrequestpathelements

要将请求正确地映射到缺省 Servlet,您需要确定正确的 Servlet 路径和 PathInfo 值。 下表显示将 com.ibm.ws.webcontainer.enabledefaultservletrequestpathelements 定制属性设置为值 true 或 false 时,对 Servlet Path 和 PathInfo 值造成的影响。
表 1. Servlet 路径和 PathInfo 值Servlet Path 和 PathInfo 的值
Servlet Path 值 PathInfo 值
设置为 URI 中上下文路径之后的内容 设置为空值
False 设置为空字符串 根据 URI 中上下文路径之后的内容进行设置

com.ibm.ws.webcontainer.enableErrorExceptionTypeFirst

发生异常时,Web 容器将搜索错误页面以处理该异常。 缺省搜索顺序为:
  1. 任何匹配的错误代码错误页面
  2. 任何匹配的异常类型错误页面

始终返回匹配的错误代码页面,即使 web.xml 文件中还定义了匹配的异常类型错误页面也是如此。 要让 Web 容器在使用错误代码错误页面前进行搜索并使用异常类型错误页面,请将此属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.enableErrorExceptionTypeFirst

com.ibm.ws.webcontainer.enableExactMatchJSecurityCheck

如果您希望允许将关键字 j_security_check 用作资源名称的组成部分,请指定此属性。 通常,如果 URI 包含关键字 j_security_check,那么将启动登录进程。

名称 缺省值
com.ibm.ws.webcontainer.enableExactMatchJSecurityCheck

com.ibm.ws.webcontainer.enableJspMappingOverride

在 web.xml 文件的 jsp-property-group 中定义 url-pattern 时,它通常映射到 JavaServer Pages (JSP) 引擎并由该引擎处理。 如果应用程序必须覆盖此映射以便能够自行处理和提供 JSP 内容,那么请将 com.ibm.ws.webcontainer.enableJspMappingOverride 属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.enableJspMappingOverride

com.ibm.ws.webcontainer.enableMultiReadOfPostData

如果要支持多次读取发布数据,请将 com.ibm.ws.webcontainer.enableMultiReadOfPostData 定制属性设置为 true。 将此属性设置为 true 后,可以将发布数据作为 InputStream 或 Reader 以及作为参数进行多次读取。

允许 Web 容器多次读取发布数据时,如果要让应用程序使用 InputStream 或 Reader 从头开始重新读取发布数据,您可以将其设置为完成下列操作:
  1. 获取 InputStream 或 Reader
  2. 读取数据
  3. 关闭 InputStrean 或 Reader

如果未执行第一项或第三项操作,那么对发布数据进行的下一次读取不会重置为从该数据的开头进行。

如果应用程序重新读取发布数据作为参数,那么 Web 容器将自动完成此序列。

名称 缺省值
com.ibm.ws.webcontainer.enableMultiReadOfPostData

com.ibm.ws.webcontainer.enablePostOnlyJSecurityCheck

com.ibm.ws.webcontainer.enablePostOnlyJSecurityCheck 定制属性设置为 true 以禁用除 POST 方法以外的所有登录方法。 您可以通过 Web 容器定制属性在管理控制台中设置此定制属性。 当禁用所有登录方法时,服务器返回 404 响应状态。

名称 缺省值
com.ibm.ws.webcontainer.enablePostOnlyJSecurityCheck

com.ibm.ws.webcontainer.excludehandledtypesclasses

使用 com.ibm.ws.webcontainer.excludehandledtypesclasses 定制属性来排除句柄类型类,以使这些类不会传入 ServletContainerInitializer 实现类的 onStartup 方法中。

名称 缺省值
com.ibm.ws.webcontainer.excludehandledtypesclasses

com.ibm.ws.webcontainer.extractHostHeaderPort 和 trusthostheaderport

getServerPort 方法依赖于通道的 getVirtualPort 方法,此方法会按以下顺序返回端口号:
  1. 从请求 URL 返回端口号
  2. 从请求主机头返回端口号
此顺序符合 HTTP/1.1 RFC ,但不符合 Java Servlet 规范版本 2.4 API ,后者要求首先返回主机头中的端口号 (如果有) 或请求 URL。 在以上示例中,返回的正确 URL 为:http://ProxyServer:8888。 已修改 Web 容器以从主机头返回端口号(如果有),或返回已接受客户机连接的 URL 端口。 必须将 trusthostheaderport 和 com.ibm.ws.webcontainer.extractHostHeaderPort 定制属性设置为 true,以先从请求主机头返回端口号。 通过使用管理控制台,按如下所示设置这些属性:
trusthostheaderport = true     
com.ibm.ws.webcontainer.extractHostHeaderPort = true
避免麻烦: 不能在 web.xml 中设置这些属性以使其按预期生效。
您可以在管理控制台中使用以下两组“名称/值”对,将这些属性设置为 Web 容器定制属性:
名称 缺省值
com.ibm.ws.webcontainer.extractHostHeaderPort
trusthostheaderport
[z/OS]

com.ibm.ws.webcontainer.fileWrapperEvents

静态文件由文件包装器处理,该包装器不会针对静态文件生成 SMF 和 PMI 数据。 在 V5.1 中,由 SimpleFileServlet(会同时生成 SMF 和 PMI 数据)执行静态文件的处理。 如果要从 V5.1 迁移,并且需要在为静态文件提供服务时生成 SMF 和 PMI 数据,请对 Web 容器配置设置添加 com.ibm.ws.webcontainer.fileWrapperEvents 定制属性,并将此属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.fileWrapperEvents
[z/OS]

com.ibm.ws.webcontainer.FileWrapperEventsLessDetail

SMF 类型 120 记录在静态文件报告的名称字段中显示静态资源的名称,而不是显示 FileServletWrapper。 如果您已从先前版本的产品进行迁移,并且希望 SMF 类型 120 记录在静态文件报告的名称字段中显示 FileServletWrapper,请对 Web 容器设置添加 com.ibm.ws.webcontainer.FileWrapperEventsLessDetail 定制属性,并将此属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.FileWrapperEventsLessDetail

com.ibm.ws.webcontainer.finishresponseonclose

使用 com.ibm.ws.webcontainer.finishresponseonclose 定制属性可以指示您希望 Web 容器在 Servlet 对写程序或输出流调用 close() 时关闭连接。

通常,Servlet 对写程序或输出流调用 close() 时,Web 容器会将已写入写程序或输出流的数据发送到客户机,等待 Servlet 的 service() 方法完成,然后再关闭连接。 此延迟可能会因为响应完成延迟而中断,在 Servlet service() 方法直到写程序或输出流关闭后才完成的情况下尤其如此。

名称 缺省值
com.ibm.ws.webcontainer.finishresponseonclose

com.ibm.ws.webcontainer.ForceDifferentCookiePaths

将应用程序配置为使用 Cookie 来跟踪会话时,Cookie 的缺省路径将设置为应用程序的上下文根。 因此,该 Cookie 将仅发送到对此应用程序发出的请求。 要将缺省路径更改为 / (正斜杠) ,以便将 cookie 发送到此域中任何应用程序的请求,请设置 ForceDifferentCookiePaths 会话管理器定制属性。

名称 缺省值
com.ibm.ws.webcontainer.ForceDifferentCookiePaths

com.ibm.ws.webcontainer.handlingRequestWithOverridenPath

应用程序覆盖 URI pathinfo 时,服务器不会使用覆盖的路径来处理请求,而会使用原始请求 URI pathinfo。 如果希望服务器使用覆盖的 URI 路径,那么将 com.ibm.ws.webcontainer.handlingRequestWithOverridenPath 设置为 true。 通常,应用程序覆盖请求 URI 路径时,此 URI 路径由应用程序而不是服务器使用。

名称 缺省值
com.ibm.ws.webcontainer.handlingRequestWithOverridenPath

com.ibm.ws.webcontainer.HTTPOnlyCookies

com.ibm.ws.webcontainer.HTTPOnlyCookies 定制属性提供一定程度的保护功能,不允许客户机端脚本访问受保护的 Cookie 并获取其内容。 使用此定制属性时,可以阻止在浏览器中运行的 Java 脚本访问所有 cookie 或您选择的特定 cookie 列表。 HTTPOnly 属性将添加到此定制属性中指定的每个 Cookie,并启用保护功能以阻止客户机端脚本访问。
避免麻烦: 在没有操作数的情况下指定 com.ibm.ws.webcontainer.HTTPOnlyCookies 意味着不会将 HTTPOnly 属性添加到任何 cookie ,并且在浏览器中运行的任何客户端 Java 脚本都可以访问任何 cookie 的内容。
您可以为此属性指定以下值:
  • * - 星号值表示向所有 Cookie 添加 HTTPOnly 属性。
  • 给定 HTTPOnly 属性的特定 cookie 的逗号分隔列表。 Cookie 可能包含通配符。 仅向此列表上的匹配 cookie 提供 HTTPOnly 属性。
以下示例说明如何指定这两项设置:
com.ibm.ws.webcontainer.HTTPOnlyCookies=*
com.ibm.ws.webcontainer.HTTPOnlyCookies=cookieName1,Account3Cookie,JsessionID 
注意: 指定 com.ibm.ws.webcontainer.HTTPOnlyCookies 时使用的 Cookie 名称不区分大小写。
重要信息: 缺省情况下,已启用 JSESSIONID 和 LTPA cookie 的 HTTPOnly 属性。 在 WebSphere Application Server V 8.0之前, com.ibm.ws.security.addHttpOnlyAttributeToCookies 定制属性缺省值为 false。 对于 WebSphere Application Server Version 8.5,缺省值为 true
对于转换用户: 缺省情况下,已启用 JSESSIONID 和 LTPA cookie 的 HTTPOnly 属性。 在 WebSphere Application Server V 8.0之前, com.ibm.ws.security.addHttpOnlyAttributeToCookies 定制属性缺省值为 false。 当前缺省值为 true

由于现在通过使用管理控制台中的 将会话 Cookie 设置为 HTTPOnly 以帮助防止跨站点脚本编制攻击 字段来设置 HTTPOnly 属性,因此如果需要禁用此功能,请在管理控制台中单击 服务器类型> 应用程序服务器> 会话管理> Cookie,然后清除 将会话 Cookie 设置为 HTTPOnly 以帮助防止跨站点脚本编制攻击 字段。

有关这两个定制属性的交互的更多信息,请参阅 Cookie 设置安全性强化功能的启用和迁移注意事项

名称 缺省值
com.ibm.ws.webcontainer.HTTPOnlyCookies

com.ibm.ws.webcontainer.ignoreinjectionfailure

如果资源或 Enterprise JavaBeans (EJB) 注入在 Servlet 初始化过程中失败,那么会将错误消息写入服务器日志文件。 但是,不会将此错误消息传播到客户机。 另外,该 Servlet 将放入到服务中,因此直到其应用程序重新启动后才会进行重新初始化。 在此期间,如果接收到引用了先前未能注入的资源的请求,那么将产生 NullPointerException 异常。 同样,在过滤器和侦听器的初始化过程中,也可能会发生此问题。

com.ibm.ws.webcontainer.ignoreinjectionfailure 定制属性允许您指定是否传播这些错误消息以及是否将 Servlet 放入到服务中。 缺省情况下,此定制属性设置为 false,这将保留上述行为。 要允许将这些注入异常传播到客户机并且不将 Servlet 放入服务,必须使此定制属性保持设置为 false

名称 缺省值
com.ibm.ws.webcontainer.ignoreinjectionfailure

com.ibm.ws.webcontainer.ignoreInvalidQueryString

如果 Web 容器在查询字符串对中遇到无效的编码字符,那么会抛出 IllegalArgumentException 异常,并且在缺省情况下,会忽略整个查询字符串。 在查询字符串中的每个字段都是基本资源的应用程序中,忽略整个查询字符串可能不可取。 如果将 com.ibm.ws.webcontainer.ignoreInvalidQueryString 定制属性设置为 true,那么 Web 容器会忽略无效的查询字符串对,并继续处理有效的查询字符串对。

名称 缺省值
com.ibm.ws.webcontainer.ignoreInvalidQueryString

com.ibm.ws.webcontainer.ignorePostConstructOverriddenMethod

如果某个父类的带注释 @PostConstruct 方法由子类覆盖,那么调用目标子类的带注释方法时,Web 容器会调用目标子类两次。 如果将 com.ibm.ws.webcontainer.ignorePostConstructOverriddenMethod 定制属性设置为 true,那么 Web 容器仅调用目标子类方法一次,将忽略任何父类的覆盖方法。

名称 缺省值
com.ibm.ws.webcontainer.ignorePostConstructOverriddenMethod

com.ibm.ws.webcontainer.ignoreSemiColonOnRedirectToWelcomePage

如果此属性设置为 true,那么在重定向至欢迎页面时,Web 容器将忽略分号及分号后的所有内容。

名称 缺省值
com.ibm.ws.webcontainer.ignoreSemiColonOnRedirectToWelcomePage

com.ibm.ws.webcontainer.IgnoreSessiononStaticFileRequest

对于涉及过滤器的静态文件请求,Web 容器将访问会话。 此操作可能会导致性能下降,例如,在启用了数据库会话持久性的情况下运行时,情况便是如此。 如果将 com.ibm.ws.webcontainer.IgnoreSessiononStaticFileRequest 定制属性设置为 true,那么对于涉及过滤器的静态文件请求,Web 容器无法访问会话。

名称 缺省值
com.ibm.ws.webcontainer.IgnoreSessiononStaticFileRequest

com.ibm.ws.webcontainer.initFilterBeforeInitServlet

通过将 com.ibm.ws.webcontainer.initFilterBeforeInitServlet 定制属性设置为 true,可以在应用程序启动过程期间初始化“在启动时装入”Servlet 之前初始化过滤器。

避免麻烦: com.ibm.ws.webcontainer.invokeFilterInitAtStartup 属性和 com.ibm.ws.webcontainer.initFilterBeforeInitServlet 属性都必须设置为 true ,以便在应用程序启动时首先初始化过滤器。
名称 缺省值
com.ibm.ws.webcontainer.initFilterBeforeInitServlet

com.ibm.ws.webcontainer.invokeFilterAfterService

com.ibm.ws.webcontainer.invokeFilterAfterService 定制属性确保 OutputStream 关闭的情况下,Web 容器不会调用失败的 flush()

名称 缺省值
com.ibm.ws.webcontainer.invokeFilterAfterService

com.ibm.ws.webcontainer.invokeFilterInitAtStartup

com.ibm.ws.webcontainer.invokeFilterInitAtStartup 定制属性允许 Web 容器在应用程序启动过程期间调用 init 方法并初始化过滤器。

名称 缺省值
com.ibm.ws.webcontainer.invokeFilterInitAtStartup

com.ibm.ws.webcontainer.invokeflushafterserviceforstaticfileresponsewrapper

将此定制属性设置为 false ,以便当应用程序使用响应包装器时, Web 容器不会在服务后清空对静态文件的请求的响应。

名称 缺省值
com.ibm.ws.webcontainer.invokeflushafterserviceforstaticfileresponsewrapper

com.ibm.ws.webcontainer.KeepUnreadPostDataAfterResponseSentToClient

此属性指示在客户机响应完成(转发请求完成,或者从 sendRedirect 返回)之后,发布数据是否可供读取。 如果此属性设置为 true,那么在客户机响应完成之后,即,在转发请求完成(这是缺省行为)或者从 sendRedirect 返回(这在 com.ibm.ws.webcontainer.SendResponseToClientAsPartOfSendRedirect 定制属性设置为 true 时发生)之后,发布数据可供读取。 但是,将此属性设置为 true 要求将尚未读取的发布数据存放在内存中,直到目标资源完成为止,这将增加内存使用量。

名称 缺省值
com.ibm.ws.webcontainer.KeepUnreadPostDataAfterResponseSentToClient

com.ibm.ws.webcontainer.logServletContainerInitializerClassloadingErrors

在检查应用程序的类以确定它们是否与 ServletContainerInitializer 的 HandlesTypes 注释所指定的任何条件匹配时,如果缺少一个或多个可选的应用程序 JAR 文件,那么容器可能会遇到类装入问题。 由于容器无法确定这些类型的类装入故障是否导致应用程序无法正常工作,所以它将忽略这些故障,并提供了用于记录这些故障的配置选项。

将此属性设置为 true 将开启日志记录。

名称 缺省值
com.ibm.ws.webcontainer.logServletContainerInitializerClassloadingErrors

com.ibm.ws.webcontainer.mapFiltersToAsterisk

当 Web 容器处理请求时,它会将到 * 的 Servlet 映射识别为与到 /*的 Servlet 映射相同。 要通过过滤器映射来提供相同的行为,请将 com.ibm.ws.webcontainer.mapFiltersToAsterisk 定制属性设置为 true。 将 com.ibm.ws.webcontainer.mapFiltersToAsterisk 定制属性设置为 true 会导致 Web 容器将到 * 的过滤器映射识别为到 /*的过滤器映射。 此定制属性不区分大小写。

名称 缺省值
com.ibm.ws.webcontainer.mapFiltersToAsterisk

整数表示多部分上载请求中允许的最大文件数,其中 -1 表示无限制。

[9.0.5.16 或更高版本]

com.ibm.ws.webcontainer.maxfilecount

您可以使用此属性来更改多部分上载请求中允许的最大文件数。 整数表示多部分上载请求中允许的缺省值为 5000 的最大文件数。

如果您不想限制请求中上载的文件数,那么可以将此属性设置为 -1

名称 缺省值
com.ibm.ws.webcontainer.maxfilecount 5000

com.ibm.ws.webcontainer.maxParamPerRequest

您可以使用此属性根据应用程序和环境更改入站请求中允许的最大参数数目。 每个入站请求(GET 或 POST)所允许的最大参数数目缺省为 10000。

如果您不想对一个请求中可以包括的参数数目进行限制,可以将此属性设置为 -1

名称 缺省值
com.ibm.ws.webcontainer.maxParamPerRequest 10000

com.ibm.ws.webcontainer.metainfresourcescachesize

可以使用此属性更改 META-INF 资源高速缓存中的条目数。 此属性的缺省值是 20。

名称 缺省值
com.ibm.ws.webcontainer.metainfresourcescachesize 20

com.ibm.ws.webcontainer.modifiedFileNotFoundExceptionBehavior

当一个文件不存在,并且该文件是请求分派器的包括或转发操作的目标时,将发生 FileNotFoundException。 通过将此定制属性设置为 true 并允许在文件不存在时抛出异常,可以启用这种“找不到文件”异常行为。 如果将此属性设置为 false,那么将禁止 FileNotFoundException 以及任何故障记录。 即,即使这样的请求引起 404 异常,也不再创建 FFDC。

名称 缺省值
com.ibm.ws.webcontainer.modifiedFileNotfFoundExceptionBehavior

com.ibm.ws.webcontainer.ModifiedSinceLaterThanFileTimeStamp

此属性设置为 true 时,如果所请求的变体的 If-Modified-Since 时间戳记晚于目标变体的时间戳记,那么 Web 容器将返回 304 响应。

名称 缺省值
com.ibm.ws.webcontainer.ModifiedSinceLaterThanFileTimeStamp

com.ibm.ws.webcontainer.normalizerequesturi

通常,如果从浏览器提交请求 URI ,那么不会发生请求 URI 404 错误,因为大多数现代浏览器在调用 WebSphere Application Server之前会自动规范化请求 URI。 因此,缺省情况下,在尝试将该 URI 解析成应用程序和 Servlet 映射之前,Web 容器不会规范化请求 URI。

如果请求 URI 包含 /.//../ 作为应用程序上下文的一部分,且尚未规范化,那么可能会失败并返回 404 错误。 类似地,包含 /./" 或 /../ 作为 Servlet 路径一部分的请求 URI (未规范化) 无法与 Servlet 映射匹配,这也会导致 404 错误,即使在将 URI 解析为 JavaServer Pages (JSP) 或静态文件之前已规范化该 URI 也是如此。

可以将 com.ibm.ws.webcontainer.normalizerequesturi 定制属性设置为 true,并且 Web 容器会规范化这些类型的请求 URI。

名称 缺省值
com.ibm.ws.webcontainer.normalizerequesturi

com.ibm.ws.webcontainer.parseUTF8PostData

如果 Web 容器尝试处理包含未经 URL 编码的 UTF-8 发布数据的请求,那么目标资源会将发布数据作为参数进行访问。 但是,无法正确解码 UTF-8 数据,并且产生的数据可能会丢失。

要解决此问题,请将 com.ibm.ws.webcontainer.parseUTF8PostData 定制属性设置为 true。 当 Web 容器处理参数时,它将检测到未进行 URL 编码的 UTF-8 发布数据并将其包括在参数值中。

要使用此功能,必须将值设置为 true。

名称 缺省值
com.ibm.ws.webcontainer.parseUTF8PostData

com.ibm.ws.webcontainer.preserveRequestParameterValues

使用此定制属性来保存请求中所使用的参数值的原始值。

javax.servlet.ServletRequest.getParameterValues() 方法返回请求参数值的字符串数组。 如果直接修改此字符串数组,那么可能会丢 失原始请求参数值。 对 javax.servlet.ServletRequest.getParameterValues() 方法的任何后续调用都会返回已修改的值。

要使用此功能,必须将值设置为 true

名称 缺省值
com.ibm.ws.webcontainer.preserveRequestParameterValues

com.ibm.ws.webcontainer.provideQStringToWelcomeFile

通常,最初将请求发送到应用程序的上下文根时,会将该请求转发到一个欢迎文件。 如果初始请求包含查询字符串,并且欢迎文件包含 request.getQueryString() 属性,那么该字符串将不可用于该欢迎文件。 但是,如果欢迎文件包含 javax.servlet.forward.query_string 属性,那么该查询字符串可用于该欢迎文件。

如果必须使用 request.getQueryString() 属性而不使用 javax.servlet.forward.query_string 属性,为了使查询字符串可用于欢迎文件,请对 Web 容器配置添加 com.ibm.ws.webcontainer.provideQStringToWelcomeFile 定制属性,并将此属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.provideQStringToWelcomeFile

com.ibm.ws.webcontainer.redirectcontextroot

如果设置为 true,并且向缺少尾随斜杠的应用程序的上下文根发出请求,那么 WebContainer 会追加尾随斜杠。 WebContainer 在应用应用程序中定义的任何 Servlet 过滤器之前,将重定向到带有附加斜杠的 URL。

例如,在应用任何过滤器之前,会将对 http://host:port/contextRoot 的请求重定向到 http://host:port/contextRoot/

名称 缺省值
com.ibm.ws.webcontainer.redirectcontextroot

com.ibm.ws.webcontainer.RedirectWithPathInfo

Servlet 3.1 规范将忽略 com.ibm.ws.webcontainer.RedirectWithPathInfo。 要使用此属性,请将 com.ibm.ws.webcontainer.servlet30compatibility 设置为 true,然后将 com.ibm.ws.webcontainer.RedirectWithPathInfo 设置为 true

如果提供的重定向位置是相对 URL 并且没有前导斜杠 /,那么在将相对 URI 值转换为绝对 URL 期间,服务器将从现有 URI 中除去 pathInfo 。 要确保保留而不是移除 pathInfo,请将 com.ibm.ws.webcontainer.RedirectWithPathInfo 设置为 true

名称 缺省值
com.ibm.ws.webcontainer.RedirectWithPathInfo

com.ibm.ws.webcontainer.removeAttributeForNullObject

缺省情况下,对于 9.0.0.5 和更高版本,如果传递给 ServletRequest.setAttribute() 或 ServletContext.setAttribute() 方法的值为空,那么 getAttributeNames () 方法不会返回其值设置为空的属性名称。 此缺省行为符合 API。

如果希望 Web 容器在将空对象传递到 ServletRequest.setAttribute() 或 ServletContext.setAttribute() 方法时返回该属性,请将 com.ibm.ws.webcontainer.removeAttributeForNullObject 定制属性添加到 Web 容器配置,并将该属性设置为 false

数据类型 缺省值
Boolean 对于 9.0.0.4 和更低版本,缺省值为 false。

对于 9.0.0.5 和更高版本,缺省值为 true。

com.ibm.ws.webcontainer.returnDefaultContextPath

通过使用 com.ibm.ws.webcontainer.returnDefaultContextPath 定制属性,可以在应用程序安装在缺省上下文根时返回正确的上下文路径。 例如,此属性设置为 true 时,对于任何安装在缺省上下文根的应用程序,上下文路径将设置为空字符串。

数据类型 缺省值
Boolean
[9.0.5.5 或更高版本]

com.ibm.ws.webcontainer.returnzeroendofinputstream

缺省情况下,当 servlet 调用 java.io.InputStream.available 方法时,该方法可以在到达数据流末尾时返回 -1 值。 如果您的代码在返回值为 -1时 (例如,使用 byte[InputStream.available()] 代码) 分配了新缓冲区,那么将创建最大整数缓冲区。 此最大整数缓冲区可能导致系统耗尽内存。 要避免内存不足情况,请检查 InputStream.available 方法的返回值,如果该值小于 0的值,请勿分配新的缓冲区。 或者,将此定制属性设置为 true 值,以便 java.io.InputStream.available 方法返回 0 值而不是 -1 值。

数据类型 缺省值
Boolean

com.ibm.ws.webcontainer.searchMetaInfResourcesDuringAppStart

搜索 /META-INF/ 资源时,使用 com.ibm.ws.webcontainer.searchMetaInfResourcesDuringAppStart 定制属性可禁用增强功能。

数据类型 缺省值
Boolean

com.ibm.ws.webcontainer.SendResponseToClientAsPartOfSendRedirect

此属性指示是否在 sendRedirect 请求过程中完成响应。 如果此属性设置为 true,那么将在 sendRedirect 请求过程中完成响应,这样,从 sendRedirect 返回后,所有与该请求相关联的发布数据都不可读取。

缺省值为 false。

名称 缺省值
com.ibm.ws.webcontainer.SendResponseToClientAsPartOfSendRedirect

com.ibm.ws.webcontainer.SendResponseToClientWhenResponseIsComplete

此属性指示是否在从转发请求返回时完成响应。

如果此属性设置为 false,那么不会在从转发请求返回时完成响应。 而是,将一直推迟到目标资源完成为止。 转发完成后,发布数据可供读取。

名称 缺省值
com.ibm.ws.webcontainer.SendResponseToClientAsPartOfSendRedirect

com.ibm.ws.webcontainer.setAsyncDispatchRequestURI

如果此属性设置为 true,那么 Web 容器会将当前请求 URI 设置为异步分派的目标。

名称 缺省值
com.ibm.ws.webcontainer.setAsyncDispatchRequestURI

com.ibm.ws.webcontainer.setcontenttypebysetheader

启用 autoResponseEncoding 或设置 com.ibm.ws.webcontainer.contentTypeCompatibility 属性后,应用程序服务器将使用内部方法来设置响应的内容类型。 要改为使用 ServletResponse.setContentType 方法来设置内容类型,需要将 com.ibm.ws.webcontainer.setcontenttypebysetheader 定制属性设置为 false

名称 缺省值
com.ibm.ws.webcontainer.setcontenttypebysetheader

com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot

通常,当 Web 容器首次处理非 JavaServer Pages (JSP) 文件的静态欢迎页面的请求时, Web 容器不会在 ExtendedDocumentRoot 中搜索欢迎文件,除非该欢迎文件的请求是标准的。 如果请求是完全限定的,那么 Web 容器将提供欢迎文件,并且应用程序的上下文根将显示欢迎文件。 如果对静态欢迎文件的请求不是标准的,那么 Web 容器将返回 404 错误,这指示 Web 容器未找到欢迎文件。

在 Web 容器成功地提供欢迎文件之后,Web 容器将为该欢迎文件创建映射。 然后, Web 容器使用此映射来处理欢迎文件的未来请求,从而无需对后续请求进行完全限定。

如果您希望 Web 容器始终在应用程序定义的 ExtendedDocumentRoot 中搜索欢迎文件,即使请求不是标准的,您也可以将 com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot 定制属性添加到 Web 容器设置中,并将此属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot

com.ibm.ws.webcontainer.ServletDestroyWaitTime

缺省情况下,如果应用程序处于已停止状态,那么 Web 容器会等待对该应用程序资源的活动请求完成(最长等待时间为 60 秒)。 现在,您可以定义 Web 容器定制属性 com.ibm.ws.webcontainer.ServletDestroyWaitTime,以便在所属应用程序处于已停止状态时控制 Web 容器等待活动请求完成的时间。

com.ibm.ws.webcontainer.ServletDestroyWaitTime 定制属性设置为整数值,以指定等待请求完成的秒数。 缺省值为 60 秒。

名称 缺省值
com.ibm.ws.webcontainer.ServletDestroyWaitTime 60

com.ibm.ws.webcontainer.setUnencodedHTMLinsendError

通常,在格式化指定的错误消息之前, Web 容器会对这些错误消息进行编码,以防止客户机上的跨站点脚本编制 (XSS) 攻击 (如果应用程序未清理这些消息)。 但是, sendError(int , String) 方法的 Java Servlet 规范指示服务器应该创建响应以类似于 HTML 格式的服务器错误页面。

如果您不希望 Web 容器在对指定的错误消息进行格式编排前对其进行编码,请对 Web 容器配置设置添加 com.ibm.ws.webcontainer.setUnencodedHTMLinsendError 定制属性,并将此属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.setUnencodedHTMLinsendError

com.ibm.ws.webcontainer.skipInputStreamReadOnError

如果此属性设置为 true,那么在解析 POST 数据之前或期间发生异常时,Web 容器将停止读取剩余 POST 数据。

com.ibm.ws.webcontainer.skipInputStreamReadOnError 定制属性必须与 preventRequestBodyPurge 通道定制属性(已设置为 true)成对使用。

名称 缺省值
com.ibm.ws.webcontainer.skipInputStreamReadOnError

com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing

Web 容器根据应用程序配置在不同位置搜索静态文件和 JavaServer Pages (JSP) 文件。 Web 片段由应用程序 WEB-INF/lib 目录中的 JAR 文件组成。 JAR 文件可能包含在 JAR 文件中定义的 META-INF/resources 目录中的静态资源。 要阻止 Web 容器搜索 META-INF/resources 目录,请将 Web 容器定制属性 com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing 设置为 true

此定制属性的缺省值为 false

名称 缺省值
com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing

com.ibm.ws.webcontainer.suppressErrorPageODRHeader

Web 容器针对某些错误情况 (例如, 403 错误代码) 添加 $WSEP HTTP 头名称。 某些应用程序或堆栈产品无法作为标题的一部分处理美元符号 ($)。 如果此属性设置为 true,那么 Web 容器不会在错误页面响应中包含 $WSEP 头,除非在请求中找到设置为 ErrorPage$WSPC 头。 如果此属性设置为 false(这是缺省行为) ,那么 Web 容器将在错误页面响应中包含 $WSEP 头。

名称 缺省值
com.ibm.ws.webcontainer.suppressErrorPageODRHeader

com.ibm.ws.webcontainer.suppressheadersinrequest

com.ibm.ws.webcontainer.suppressheadersinrequest 定制属性可用于禁止包含以特殊字符 (例如 $_) 开头的请求头。 某些应用程序不处理以特殊字符开头的请求头。

对此定制属性指定的值是要禁用的头前缀的定界列表。

例如:

com.ibm.ws.webcontainer.suppressheadersinrequest=$WS,_WS
名称 缺省值
com.ibm.ws.webcontainer.suppressheadersinrequest

com.ibm.ws.webcontainer.suppressHtmlRecursiveErrorOutput

在发生应用程序指定的错误页无法处理的递归错误期间,会将堆栈跟踪和错误消息输出为 HTML 页。 此信息包含应用程序开发者不想向用户公开的类名和程序信息。

您可以设置 com.ibm.ws.webcontainer.suppressHtmlRecursiveErrorOutput Web 容器定制属性,以在不更改消息内部记录的情况下,禁止将错误文本输出为 HTML 页。 将定制属性 com.ibm.ws. webcontainer.suppressHtmlRecursiveErrorOutput 设置为 true 以禁用向用户输出错误消息的 HTML 输出,并向用户显示带有 500 错误代码的空白页面。

名称 缺省值
com.ibm.ws.webcontainer.suppressHtmlRecursiveErrorOutput

com.ibm.ws.webcontainer.suppressLastZeroBytePackage

通常,最后一个零字节块用于向客户机指示分块编码传输中响应数据的结束。 一些应用程序使用这个末尾零来确定已接收响应数据,从而可以开始对其进行处理。 即使发送响应头之后在应用程序中发生错误,也仍然会将最后一个数据块发送给客户机。 客户机可能不知道发生了错误,并尝试处理不完整的数据。

com.ibm.ws.webcontainer.suppressLastZeroBytePackage 定制属性设置为 true 之后,如果发送响应头之后在应用程序中发生错误,那么不会将最后一个数据块发送给客户机。

名称 缺省值
com.ibm.ws.webcontainer.suppressLastZeroBytePackage

com.ibm.ws.webcontainer.suppressLoggingFileNotFoundExceptions

缺少所请求使用的文件时,Web 容器将在 Java 虚拟机 (JVM) 日志中生成带有 FileNotFoundException 堆栈跟踪的严重错误消息。 如果是意外地请求使用不正确的文件,那么这可能并不是严重错误。 如果将此属性设置为 true,那么找不到文件时将在 JVM 日志中生成警告消息,而不是生成严重错误消息。

名称 缺省值
com.ibm.ws.webcontainer.suppressLoggingFileNotFoundExceptions

com.ibm.ws.webcontainer.suppressLoggingWebGroupVhostNotFound

设置为要禁止消息 SRVE0255E 的 URI 的字符串值。 指定的请求 URI 字符串不区分大小写。 仅支持一个请求 URI ,并且需要在禁止错误消息之前完全匹配。 在字符串值规范中不允许使用通配符。

名称 缺省值
com.ibm.ws.webcontainer.suppressLoggingWebGroupVhostNotFound

com.ibm.ws.webcontainer.suppressServletExceptionLogging

如果 Servlet 创建了异常,那么该异常将记录到系统控制台。 如果您不希望 Web 容器记录 Servlet 创建的异常,请对 Web 容器配置设置添加 com.ibm.ws.webcontainer.suppressServletExceptionLogging 定制属性,并将此属性设置为 true

名称 缺省值
com.ibm.ws.webcontainer.suppressServletExceptionLogging

com.ibm.ws.webcontainer.throwMissingJspException

将 com.ibm.ws.webcontainer.throwMissingJspException 定制属性设置为 true,以在 JSP 文件所包含的资源缺少时抛出 FileNotFoundException。 如果未将此属性设置为 true,那么会显示错误页。

名称 缺省值
com.ibm.ws.webcontainer.throwMissingJspException

com.ibm.ws.webcontainer.throwpostconstructexception

通过将 com.ibm.ws.webcontainer.throwpostconstructexception 定制属性设置为 true,可以将定制错误消息传播到 error.xhtml 文件。

对于转换用户: 此定制属性的缺省值已从 V 7.0更改。 在 V7.0 中,缺省值为 false
名称 缺省值
com.ibm.ws.webcontainer.throwpostconstructexception
[AIX]

com.ibm.ws.webcontainer.tolerateLocaleMismatchForServingFiles

以下编码不匹配时,Web 容器可能会发生 FileNotFound 404 错误,并且不处理请求。
  • 应用程序安装位置的文件系统编码
  • 在请求 URL 中发送的文件名编码

例如,如果针对双字节字符集 (DBCS) 编码文件名发出请求,而文件系统语言环境是 en_US(即 ISO-8859 编码),那么匹配将失败。

要解决此问题,请将 com.ibm.ws.webcontainer.tolerateLocaleMismatchForServingFiles 定制属性设置为 true。 设置此定制属性后,Web 容器将允许文件系统编码与请求使用的文件名编码不匹配。 这样,Web 容器将处理针对有效文件发出的请求。

名称 缺省值
com.ibm.ws.webcontainer.tolerateLocaleMismatchForServingFiles

com.ibm.ws.webcontainer.useOriginalRequestState

如果某个请求被覆盖或者应用程序已实现了 ServletRequest 接口,那么应用程序可能无法处理请求,因为覆盖或实现的请求对象(而非请求对象)用于处理请求。 为确保请求对象用于处理请求,请将 com.ibm.ws.webcontainer.useOriginalRequestState 定制属性添加到 Web 容器配置设置,并将其设置为 true。

名称 缺省值
com.ibm.ws.webcontainer.useOriginalRequestState

com.ibm.ws.webcontainer.useSemiColonAsDelimiterInURI

如果设置为 true,那么在调用 javax.servlet.http.HttpServletRequest.getPathInfo() 时,Web 容器将忽略分号以及分号后的所有内容。

名称 缺省值
com.ibm.ws.webcontainer.useSemiColonAsDelimiterInURI

com.ibm.ws.webcontainer.webgroupvhostnotfound

错误消息 SRVE0017W 状态Web Group not found: {0}和错误消息 SRVE0255 状态A WebGroup/Virtual Host to handle {0} is not defined如果找不到为处理由 IBM® WebSphere Application Server 提供服务的请求而调用的应用程序,那么可能会返回这些消息。 您可以使用 com.ibm.ws.webcontainer.webgroupvhostnotfound 定制属性将这些消息的文本更改为更适合于环境的文本。

名称 缺省值
com.ibm.ws.webcontainer.webgroupvhostnotfound

com.ibm.ws.webcontainer.xPoweredBy

此定制属性允许您配置 X-Powered-By 头的值,这个头用于提供服务器的实现信息。

名称 缺省值
com.ibm.ws.webcontainer.xPoweredBy Servlet/3.0

com.ibm.wsspi.jsp.allowMultipleAttributeValues

将此属性设置为 true 可以允许 Web 容器为一个定制标记属性存储多个值。

名称 缺省值
com.ibm.wsspi.jsp.allowMultipleAttributeValues

com.ibm.wsspi.jsp.convertAttrValueToString

com.ibm.wsspi.jsp.convertAttrValueToString Web 容器定制属性设置为 true,以将 repeat 标记的 start 和 end 属性转换为字符串,然后再加以使用。

名称 缺省值
com.ibm.wsspi.jsp.convertAttrValueToString

com.ibm.wsspi.jsp.disableElCache

如果由于表达式求值程序挂起散列图,而遇到内存不足状况,请将 com.ibm.wsspi.jsp.disableElCache Web 容器定制属性设置为 true,以禁用 commons-el 表达式高速缓存。

名称 缺省值
com.ibm.wsspi.jsp.disableElCache

com.ibm.wsspi.jsp.disableResourceInjection

资源注入功能以不同于先前产品版本中的方式访问应用程序中的资源,这导致编译的方法输出比先前的输出大。 如果先前发行版中存在将转换后的服务方法中的字节限制推至 65535 的大型 JSP 文件,那么它们现在可能会超出此限制,从而导致编译失败。

如果遇到这种情况,可以将一个大型 JSP 文件分割为多个较小的 JSP 文件,并使用 <jsp:include> 语句在这些文件编译完成后对其进行合并,或者可对 Web 容器设置添加 com.ibm.wsspi.jsp.disableResourceInjection 定制属性,以便在 JSP 转换过程中禁用资源注入功能。 将 com.ibm.wsspi.jsp.disableResourceInjection 定制属性设置为 true 表示对所有应用程序禁用资源注入功能。

如果只想对特定应用程序禁用资源注入功能,那么可以将 disableResource注入 JSP 属性添加到这些特定应用程序的 ibm-web-ext.xmi 文件中。

名称 缺省值
com.ibm.wsspi.jsp.disableResourceInjection

com.ibm.wsspi.jsp.disableTldSearch

com.ibm.wsspi.jsp.disableTldSearch 定制属性可用来缩短应用程序启动时间。 缺省情况下,在应用程序启动时,JSP 引擎会在应用程序安装目录中搜索标记库描述符 (TLD) 文件。 对于包含许多文件和目录的大型应用程序,此搜索过程可能会使启动时间延长。 要禁用此搜索过程,请将此属性设置为 true

名称 缺省值
com.ibm.wsspi.jsp.disableTldSearch

com.ibm.wsspi.jsp.enabledoublequotesdecoding

如果在 JavaServer Pages (JSP) 文件的脚本函数中嵌入了经过编码的双引号字符,请设置 Web 容器定制属性 com.ibm.wsspi.jsp.enabledoublequotesdecoding 以对这些字符进行解码。

JSP 容器不会在 JSP 文件转换期间对经过编码的双引号字符进行解码。 而是,依靠浏览器对其进行解码。 但是,当标记的脚本函数中存在经过编码的双引号字符时,浏览器无法对其进行解码。 因此,未设置此定制属性时,经过编码的双引号字符将导致脚本函数无法正常工作。

设置此定制属性后,此值将影响所有已部署的应用程序。 如果要影响单个应用程序,请在应用程序中的 ibm-web-ext.xmi 文件内将 enableDoubleQuotesDecoding JSP 属性设置为 true

名称 缺省值
com.ibm.wsspi.jsp.enabledoublequotesdecoding

com.ibm.wsspi.jsp.removexmlnsfromoutput

当 Web 容器从 JSP 文档生成 HTML 代码时,该 Web 容器不会除去为 JSP 文档中的标记指定的任何 xmlns 属性。 因此,在浏览器中呈示该 JSP 文档时,xmlns 属性将保留在生成的 HTML 代码中。

要确保始终从生成的 HTML 代码中移除 xmlns 属性,请对 Web 容器配置设置添加 com.ibm.wsspi.jsp.removexmlnsfromoutput 定制属性,并将此属性设置为 true

设置此定制属性后,此值将影响所有已部署的应用程序。 如果要影响单个应用程序,请在应用程序中的 ibm-web-ext.xmi 文件内将 removeXmlnsFromOutput JSP 属性设置为 true

名称 缺省值
com.ibm.wsspi.jsp.removexmlnsfromoutput
[z/OS]

ConnectionResponseTimeout

使用 ConnectionResponseTimeout 属性来设置服务器等待应用程序组件响应 HTTP 请求的最大时间长度(以秒计)。 为服务器上的每个 HTTP 传输通道定义设置此变量。 必须为 SSL 传输通道和非 SSL 传输通道设置此变量。 如果在指定的时间长度内未接收到响应,那么服务方可能会失败并发出 ABEND EC3 和 RSN=04130007。 如果设置此计时器,客户机应用程序就不会等待来自可能已死锁、正在循环或正遇到导致应用程序组件挂起的其他处理问题的应用程序组件的响应。

使用服务器定制属性 protocol_http_timeout_output_recovery 和 protocol_https_timeout_output_recovery 来指示通过 HTTP 和 HTTPS 传输通道接收的请求超时时要执行的恢复操作。

信息
数据类型 整型
缺省值 300 秒
[AIX Solaris HP-UX Linux Windows][IBM i]

DebugSessionCrossover

DebugSessionCrossover 定制属性使代码可以执行其他检查以验证是否仅访问或引用了与请求关联的会话。 如果检测到任何差异,那么记录消息。

不推荐: 不推荐使用 DebugSessionCrossover 属性作为 Web 容器定制属性。 您现在可以将它定义为会话管理定制属性。

要启用会话数据交叉检测,请将此属性设置为 true

名称 缺省值
DebugSessionCrossover

请参阅“HTTP 会话问题”一文,以了解其他信息。

DecodeUrlAsUTF8

缺省情况下,已启用了 UTF-8 已编码 URL 功能,它提供 UTF-8 已编码统一资源定位符 (URL) 以支持 URL 中的双字节字符。 通过将此定制属性设置为 false,您可以阻止 Web 容器以 UTF-8 对 URL 进行显式解码,并让这些 URL 按当前的 HTTP 规范中的设置使用 ISO-8859 标准。

名称 缺省值
DecodeUrlAsUTF8

DisableMultiThreadedServletConnectionMgmt

此属性使连接可在 Servlet 间复用。 完成以下步骤以从管理控制台将此属性用作 Web 容器定制属性:
  1. 单击应用程序服务器 > server_name > Web 容器 > 定制属性
  2. 创建 DisableMultiThreadedServletConnectionMgmt 属性,并将它的值设置为 true

启用此属性时,如果连接句柄未关闭并且 Servlet 结束,那么 Web 容器(在 postinvoke 过程中)将会阻塞连接,并且不会关闭连接句柄。

名称 缺省值
DisableMultiThreadedServletConnectionMgmt

com.ibm.ws.webcontainer.denyDuplicateFilterinChain

入站请求 URI 映射到多个 URL 过滤器映射时,会使用相同过滤器多次更新过滤器链,这将导致针对相同 URI 多次调用过滤器。 如果将 denyDuplicateFilterinChain 定制属性添加到 Web 容器设置,并将此属性设置为 true,那么在过滤器已在过滤器链中的情况下,不会将其添加到该链。

名称 缺省值
com.ibm.ws.webcontainer.denyDuplicateFilterinChain

enableInProcessConnections

使用 enableInProcessConnections 定制属性来缩短响应时间,并减少用来服务请求的线程数,这将降低发生死锁的可能性。 定制属性适用于 JAX-RPC 和 JAX-WS 方案,但不适用于 JAX-RS 方案。

Web Service 客户机应用程序与 Web 容器之间的优化通信路径位于同一应用程序服务器进程中。 来自 Web Service 客户机的请求(通常使用网络连接来发送至 Web 容器),会使用优化本地路径来直接传递至 Web 容器。 本地路径可用,因为 Web Service 客户机应用程序和 Web 容器在同一进程中运行。 缺省情况下,此优化的通信路径处于已禁用状态。 启用此属性前,请确保没有为 Web 容器端口指定通配符。 在启用此优化的通信路径时,请将特定端口用于 Web 容器。

要启用优化的通信路径,请将此属性设置为 true

名称 缺省值
enableInProcessConnections

请参阅产品文档中的 Web Service 客户机到 Web 容器优化通信 以获取更多信息。

避免麻烦: 某些 Web Service 应用程序无法安全地共享线程。 如果发生错误,还需将 JVM 属性 jaxws.useSafeIPC 设置为 true

fileServingEnabled、directoryBrowsingEnabled 和 serveServletsByClassnameEnabled

fileServingEnabled、directoryBrowsingEnabled 以及类似的属性是内部 Servlet 的全局设置。 使用第三方工具打包的 Web 应用程序归档 (WAR) 文件无法指定 Web 容器内部 Servlet 公开的服务的行为。

您可以使用 fileServingEnabled、directoryBrowsingEnabled 和 serveServletsByClassnameEnabled 属性,在 Web 容器级别针对所有 Web 应用程序的内部 Servlet 全局启用和禁用 fileServing、directoryBrowsing 和 serveServletsByClassname 函数。
  • 将 fileServingEnabled 属性设置为 false 将禁用 fileServing 函数。
  • 将 directoryBrowsingEnabled 属性设置为 true 将启用 directoryBrowsing 函数。
  • 将 serveServletsByClassnameEnabled 属性设置为 true 将启用 serveServletsByClassnameEnabled 函数。
名称 缺省值
fileServingEnabled
directoryBrowsingEnabled
serveServletsByClassnameEnabled

在组装工具中定义的设置优先于通过 Web 容器级别的定制属性设置的全局设置。

Web 应用程序部署扩展继续保留内部 Servlet 提供的服务的配置信息,并且优先于通过 Web 容器级别的定制属性设置的全局设置。

ForceSessionIdLengthCheck

缺省情况下,新生成的会话标识的长度为 23 个字符,除非您使用 HttpSessionIdLength 定制属性为会话标识指定不同的最大长度。

如果入局请求的会话标识长度大于期望的会话标识长度,且该会话标识的前缀与预先存在的会话标识相同,那么使用较长的标识来返回新会话。 如果入局请求上会话标识的长度大于针对系统指定的最大长度,以致它超过数据库持久性中所使用会话表列内的标识列宽度,那么会发生 SQL0302 错误。

要防止发生这些 SQL0302 错误,您可以将 ForceSessionIdLengthCheck 定制属性添加到 Web 容器定制属性,并将其设置为 true。 将此定制属性设置为 true 时,会话标识的长度不能超过 23 个字符。 如果入局请求的会话标识长度超过 23 个字符,那么使用前 23 个字符来返回新会话。

名称 缺省值
ForceSessionIdLengthCheck

ForceSessionInvalidationMultiple

ForceSessionInvalidationMultiple 定制属性用于指示会话管理器应在尝试使会话失效之前无限期地等待请求完成,还是在经过指定的时间限制后尝试使会话失效。

  • 如果指定 0(零)作为此定制属性的值,那么会话管理器会无限期地等待,直到请求完成为止,然后再尝试使会话失效。

    如果请求通常不受限于响应时间限制,请指定 0 作为此属性的值。

  • 如果指定正整数(例如 1、2 或 3)作为此定制属性的值,并且耗用时间达到指示的时间段(从执行最近一次访问后算起),那么即使不知道会话是否已完成,会话管理器仍会尝试使会话失效。 此时间段是为此属性指定的值与为“会话超时”属性指定的值相乘得到的结果。 例如,如果指定 2 分钟作为“会话超时”属性的值,且指定 2 作为 ForceSessionInvalidationMultiple 属性的值,那么会话管理器会在 4 分钟之后尝试使会话失效。

    如果要在耗用一定时间之后使会话失效,请为此属性指定相应的正整数。

名称 缺省值
ForceSessionInvalidationMultiple 1

httpsIndicatorHeader

定制属性 httpsIndicator头管理从 WebSphere Application Server前面使用的 SSL 卸载程序转发到应用程序服务器的 HTTPS 请求。 当 SSL 卸载程序接收到 HTTPS 请求时,将使用 WebSphere Application Server通过 HTTP 将其重定向到应用程序服务器。 您必须对 SSL 卸载器进行配置,使其添加特殊的头,以指示原始请求通过 HTTPS 进行。 httpsIndicatorHeader 属性指定由 SSL 系统添加的请求头密钥名称。 应用程序服务器检查此指示符以确定是否需要 SSL。 如果确定请求是基于 HTTP 的 SSL,那么会选择 HTTPS 方案。

名称 缺省值
httpsIndicatorHeader

侦听器阻止

Servlet 规范支持应用程序通过 web.xml 描述符在单个应用程序基础上注册 Servlet 相关事件的侦听器。 然而,通过使用侦听器定制属性,您可以使服务器能够侦听跨 Web 应用程序的 Servlet 事件。

要实现全局侦听,侦听器在 Web 容器级别注册并传播到所有已安装和新的 Web 应用程序。 内部 Servlet 侦听器的此全局行为,是由侦听器定制属性通过使用以下名称/值对格式来加以控制。
listeners=listener_class
名称 缺省值
侦听器阻止

此属性的值是字符串,指定以逗号分隔的侦听器类列表。 提供的侦听器必须实现来自 Java Servlet API 或 IBM 侦听器扩展类的标准侦听器类。

[z/OS]

MutualAuthCBindCheck

此属性仅在 z/OS 平台上有效。 使用 MutualAuthCBindCheck 属性来指定是否将客户机证书解析成 SAF 主体。

使用 MutualAuthCBindCheck 属性来指定是否将客户机证书解析成 SAF 主体。 如果此属性设置为 ,那么来自浏览器的所有 SSL 连接都必须具有客户机证书,并且与该客户机证书相关联的用户标识必须具有 CB.BIND.servername的 RACF® CONTROL 权限。 不论是否在 SSL 连接中使用客户机证书认证,如果未满足这些条件,那么将关闭该连接。 发出以下 RACF 命令,以授予与该客户机证书 RACF CONTROL 权限相关联的用户标识:

PERMIT CB.BIND.<optional SAF profile prefix>.clustername CLASS(CBIND) ID(clientCertUserid) ACCESS(CONTROL)
名称 缺省值
MutualAuthCBindCheck

prependSlashToResource

WebSphere Application Server 5.x 支持没有前导正斜杠 (/) 的统一资源定位符 (URL)。 要保留兼容性,可以将此定制属性设置为 true。 此属性设置为 true 时,Web 容器将忽略此指定并考虑不带前导正斜杠的 URL,请使用以下名称/值对。

名称 缺省值
prependSlashToResource

com.ibm.ws.webcontainer.suppressLoggingServiceRuntimeExcep

您可以使用此属性来禁止记录在 servlet 服务期间发生的任何 RuntimeException。

缺省情况下,如果在 servlet 的服务期间发生异常,Web 容器将 RuntimeException 类型的异常记录在 JVM 日志中。 该属性设置为 true 时,Web 容器没有记录在 servlet 的服务期间发生的任何类型的 RuntimeException。

避免麻烦: 将此属性设置为 true 将仅禁止记录类型为 RuntimeException的异常。 将此属性设置为 true 不会影响抛回调用者的异常。
名称 缺省值
com.ibm.ws.webcontainer.suppressLoggingServiceRuntimeExcep

可信

可信定制属性使应用程序服务器能够使用来自 Web 服务器插件的入站专用头。 这些入站专用头将有关 Web 服务器连接的情况通知应用程序服务器。 此定制属性设置为true时,应用程序服务器将使用有关客户机证书的声明信息。 用户使用这些客户机证书来连接到 Web 服务器并建立客户机信息,该信息被视为用户的证书。 然后,使用客户机证书认证时,或者应用程序代码访问 javax.net.ssl.peer_certificates 证书时,应用程序服务器将使用证书信息进行认证。 由于此信息是声明的,因此并不安全,而且容易受到能够直接连接到应用程序服务器并绕过 Web 服务器的攻击者攻击。

trustedHeaderOrigin 和 trustedSensitiveHeaderOrigin 的 HTTP 传输通道定制属性控制这些入站专用头是否可信。 缺省情况下, trustedSensitiveHeaderOrigin 定制属性设置为 none ,以便不信任任何敏感的专用头。 trustedHeaderOrigin 定制属性设置为 * ,以便信任来自任何主机的所有非敏感专用头。 这些新属性接受 IP 地址列表,这些 IP 地址 (如果已配置) 定义信任专用头的主机。 但是,如果此可信属性设置为 false,那么将覆盖 trustedHeaderOrigin 定制属性和 trustedSensitiveHeaderOrigin 定制属性的配置,并且不会处理任何入站专用头。

重要信息: 如果允许直接连接到应用程序服务器并使用客户机证书,那么必须将此定制属性设置为 false
名称 缺省值
可信
[AIX Solaris HP-UX Linux Windows]

UseOracleBLOB

UseOracleBLOB 定制属性使用介质列的二进制大对象 (BLOB) 数据类型创建 HTTP 会话数据库表。 使用了 Oracle 数据库时,此属性将提高持久会话的性能。

由于 Oracle 限制,BLOB 支持要求将 oci 数据库驱动程序用于 Oracle,才能使数据字节数超过 4000。 您也必须确保通过执行下列操作来在重新启动服务器之前创建新的会话表:删除旧的会话表或将数据源定义更改为引用不包含会话表的数据库。

要使用 BLOB 数据类型来创建会话表,请将此属性设置为 true

注: 不推荐使用 UseOracleBLOB 属性作为 Web 容器定制属性。 现在将此功能定义为会话管理定制属性。
名称 缺省值
UseOracleBLOB
[AIX Solaris HP-UX Linux Windows]

setContentLengthOnClose

切换在应用程序显式关闭响应的情况下是否应设置内容长度。

缺省值和建议值为 true。 但是,如果应用程序响应包含双字节字符,请将该值设置为 false

名称 缺省值
setContentLengthOnClose

com.ibm.ws.webcontainer.servlet30compatibility

当此定制属性设置为 true时,对 servlet 3.1 进行的行为更改将还原为以下 servlet 3.0 行为:

  • 如果您在 AsyncContext.dispatch()AsyncContext.complete() 之后调用 AsyncContext.getRequest()AsyncContext.getResponse(),那么服务器不会抛出 IllegalStateException。
  • 如果您调用 ServletResponse.reset(),那么不会清除 getWriter()getOutputStream() 的调用状态。
  • 如果您调用下列 ServletContext 方法,那么服务器不会抛 UnsupportedOperationException:
    • ServletContext.getClassLoader()
    • ServletContext.getEffectiveMajorVersion()
    • ServletContext.getEffectiveMinorVersion()
    • ServletContext.getFilterRegistration()
    • ServletContext.getFilterRegistrations()
    • ServletContext.getServletRegistration()
    • ServletContext.getServletRegistrations()
    • ServletContext.declareRoles()
    • ServletContext.getVirtualServerName()
  • WebContainer 不会停止向重复 URL 映射注册 Servlet。 现有应用程序正常启动。 但是,部署包含与映射到同一 url-pattern 的多个 servlet 的冲突的新应用程序仍然无法部署。
  • 不会忽略 com.ibm.ws.webcontainer.RedirectWithPathInfo WebContainer 定制属性中设置的值。
  • 如果 Servlet 抛出 IOException ,并且存在针对该请求配置的过滤器,那么 WebContainer 将抛出 ServletException。

缺省值和建议值为 false。 但是,可以将值设置为 true 以还原为 3.0 行为。

名称 缺省值
com.ibm.ws.webcontainer.servlet30compatibility