zoukankan      html  css  js  c++  java
  • (转)Web 容器定制属性

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

    要指定 Web 容器定制属性,请执行下列操作:

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

    以下是随应用程序服务器提供的定制属性列表。主题、特定于 JavaServer Pages 的 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 false

    com.ibm.ws.jsp.doNotEscapeWhitespaceCharsInExpression

    通常,标记文件中的表达式语言 (EL) 表达式在 JavaServer Pages (JSP) 编译前进行求值。但是,为了确保语法中包含回车符 ( )、换行符 ( ) 或制表符 ( ) 的 EL 表达式不导致 javax.el.Exceptionable 异常,请在 ibm-web-ext.xml 文件中将 com.ibm.ws.jsp.expressionistic 定制属性设置为 true。

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

    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 false

    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 false

    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 片段末尾时调用清仓功能,即使没有任何可清仓的数据也是如此。此属性的缺省值为 false。

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

    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 false

    com.ibm.ws.jsp.throwExceptionForAddELResolver

    如果您不希望应用程序接收到来自客户机的请求后允许从 Servlet 或过滤器中注册 ELResolver,请将 com.ibm.ws.jsp.throwExceptionForAddELResolver 属性设置为 true。此属性设置为 true 时,将发生 IllegalStateException,这由 JspApplicationContext 接口的 addELResolver() 方法的 JSP (Java Server Pages) 规范指定。

    此属性的缺省值为 false。

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

    com.ibm.ws.jsp.zosFileLockRetrying

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

    在启动编译过程之前锁定 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.allowDotsinName

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

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

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

    com.ibm.ws.webcontainer.allowPrivAccessGetResource

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

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

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

    com.ibm.ws.webcontainer.AllowQueryParamWithNoEqual

    如果 URL 中的查询参数只包含字符串“name”,而未包含期望的“name=value”格式,那么服务器返回的 request.getParameter(“name”) 查询值为 Null。

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

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

    com.ibm.ws.webcontainer.appendMetaInfResourcesInLooseLib

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

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

    com.ibm.ws.webcontainer.asyncmaxsizetaskpool

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

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

    com.ibm.ws.webcontainer.asyncpurgeinterval

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

    名称
    缺省值
    com.ibm.ws.webcontainer.asyncpurgeinterval 30000

    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 false

    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 false

    com.ibm.ws.webcontainer.decodeParamViaReqEncoding

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

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

    com.ibm.ws.webcontainer.deferServingRequestsUntilEarStarted

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

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

    com.ibm.ws.webcontainer.deferServletRequestListenerDestroyOnError

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

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

    com.ibm.ws.webcontainer.disableSetCharacterEncodingAfterParametersRead

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

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

    此属性的缺省值是 false

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

    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 none

    com.ibm.ws.webcontainer.disableSystemAppGlobalListenerLoading

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

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

    com.ibm.ws.webcontainer.disablexPoweredBy

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

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

    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 false

    com.ibm.ws.webcontainer.disallowServeServletsByClassname

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

    名称
    缺省值
    有效值
    com.ibm.ws.webcontainer.disallowserveservletsbyclassname true false
    注: 针对 IBM® WebSphere Application Server V8.5.5.6,缺省值为 true。 任何较旧版本将缺省值设置为 false,除非安装了 PI31622 临时修订。

    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 false

    com.ibm.ws.webcontainer.dispatcherRethrowSER

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

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

    com.ibm.ws.webcontainer.dispatcherRethrowSError

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

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

    com.ibm.ws.webcontainer.divertrecursiveexceptiontoerrorlog

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

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

    com.ibm.ws.webcontainer.donotservebyclassname

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

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

    com.ibm.ws.webcontainer.emptyServletMappings

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

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

    com.ibm.ws.webcontainer.enabledefaultservletrequestpathelements

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

    com.ibm.ws.webcontainer.enableErrorExceptionTypeFirst

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

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

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

    com.ibm.ws.webcontainer.enableExactMatchJSecurityCheck

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

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

    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 false

    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 false

    com.ibm.ws.webcontainer.excludehandledtypesclasses

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

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

    com.ibm.ws.webcontainer.extractHostHeaderPort 和 trusthostheaderport

    getServerPort 方法依赖于通道的 getVirtualPort 方法,此方法会按以下顺序返回端口号:
    1. 从请求 URL 返回端口号
    2. 从请求主机头返回端口号
    此顺序符合 HTTP/1.1 RFC,但不符合 Java Servlet 规范 V2.4 API,此 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 中设置这些属性,以使其按预期生效。gotcha
    您可以在管理控制台中使用以下两组“名称/值”对,将这些属性设置为 Web 容器定制属性:
    名称
    缺省值
    com.ibm.ws.webcontainer.extractHostHeaderPort false
    trusthostheaderport false
    [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 false
    [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 false

    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 false

    com.ibm.ws.webcontainer.ForceDifferentCookiePaths

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

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

    com.ibm.ws.webcontainer.handlingRequestWithOverridenPath

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

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

    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 的内容。gotcha
    可以对此属性指定下列值:
    • * - 星号值表示向所有 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 cookie 和 LTPA cookie 的 HTTPOnly 属性。在 WebSphere Application Server V8.0 之前,com.ibm.ws.security.addHttpOnlyAttributeToCookies 定制属性的缺省值为 false。对于 WebSphere Application Server V8.5,缺省值为 true
    对于转换用户 对于转换用户: 缺省情况下,将启用 JSESSIONID cookie 和 LTPA cookie 的 HTTPOnly 属性。在 WebSphere Application Server V8.0 之前,com.ibm.ws.security.addHttpOnlyAttributeToCookies 定制属性的缺省值为 false。当前的缺省值为 True

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

    trns

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

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

    com.ibm.ws.webcontainer.ignoreinjectionfailure

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

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

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

    com.ibm.ws.webcontainer.ignoreInvalidQueryString

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

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

    com.ibm.ws.webcontainer.ignorePostConstructOverriddenMethod

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

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

    com.ibm.ws.webcontainer.ignoreSemiColonOnRedirectToWelcomePage

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

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

    com.ibm.ws.webcontainer.IgnoreSessiononStaticFileRequest

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

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

    com.ibm.ws.webcontainer.initFilterBeforeInitServlet

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

    避免故障 避免故障: com.ibm.ws.webcontainer.invokeFilterInitAtStartup 属性和 com.ibm.ws.webcontainer.initFilterBeforeInitServlet 属性都必须设置为 true,这样才能在应用程序启动期间先初始化过滤器。gotcha
    名称
    缺省值
    com.ibm.ws.webcontainer.initFilterBeforeInitServlet false

    com.ibm.ws.webcontainer.invokeFilterAfterService

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

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

    com.ibm.ws.webcontainer.invokeFilterInitAtStartup

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

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

    com.ibm.ws.webcontainer.KeepUnreadPostDataAfterResponseSentToClient

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

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

    com.ibm.ws.webcontainer.logServletContainerInitializerClassloadingErrors

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

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

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

    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 false

    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 true

    com.ibm.ws.webcontainer.ModifiedSinceLaterThanFileTimeStamp

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

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

    com.ibm.ws.webcontainer.normalizerequesturi

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

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

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

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

    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 false

    com.ibm.ws.webcontainer.preserveRequestParameterValues

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

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

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

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

    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 false

    com.ibm.ws.webcontainer.RedirectWithPathInfo

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

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

    com.ibm.ws.webcontainer.removeAttributeForNullObject

    缺省情况下,如果传递到 ServletRequest.setAttribute() 或 ServleContextt.setAttribute() 方法的值为空,getAttributeNames() 方法可以返回其值设置为空的属性名称。此缺省行为不符合 API。

    将空对象传递到 ServletRequest.setAttribute() 或 ServleContextt.setAttribute() 方法时,如果要让 Web 容器除去该属性,请对 Web 容器配置添加此 com.ibm.ws.webcontainer.removeAttributeForNullObject 定制属性,并将此属性设置为 true

    数据类型
    缺省值
    布尔值 false

    com.ibm.ws.webcontainer.returnDefaultContextPath

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

    数据类型
    缺省值
    布尔值 False

    com.ibm.ws.webcontainer.searchMetaInfResourcesDuringAppStart

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

    数据类型
    缺省值
    布尔值 True

    com.ibm.ws.webcontainer.SendResponseToClientAsPartOfSendRedirect

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

    缺省值为 false。

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

    com.ibm.ws.webcontainer.SendResponseToClientWhenResponseIsComplete

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

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

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

    com.ibm.ws.webcontainer.setAsyncDispatchRequestURI

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

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

    com.ibm.ws.webcontainer.setcontenttypebysetheader

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

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

    com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot

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

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

    如果要让 Web 容器始终在应用程序定义的 ExtendedDocumentRoot 中搜索欢迎文件,即使该请求未进行完全限定也如此,您可以对 Web 容器设置添加 com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot 定制属性,并将此属性设置为 true

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

    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 false

    com.ibm.ws.webcontainer.skipInputStreamReadOnError

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

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

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

    com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing

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

    此定制属性的缺省值为 false

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

    com.ibm.ws.webcontainer.suppressheadersinrequest

    com.ibm.ws.webcontainer.suppressheadersinrequest 定制属性可以用来禁止包括以特殊字符(例如“$”或“_”)开头的请求头。某些应用程序无法处理以特殊字符开头的请求头。

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

    示例:

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

    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 false

    com.ibm.ws.webcontainer.suppressLastZeroBytePackage

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

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

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

    com.ibm.ws.webcontainer.suppressLoggingFileNotFoundExceptions

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

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

    com.ibm.ws.webcontainer.suppressLoggingWebGroupVhostNotFound

    设置为 true 以使 SRVE0255E 消息不会出现在 SystemOut.log 中。

    仅当字符串不具有通配符 (*) 时,才支持此定制属性。

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

    com.ibm.ws.webcontainer.suppressServletExceptionLogging

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

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

    com.ibm.ws.webcontainer.throwMissingJspException

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

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

    com.ibm.ws.webcontainer.throwpostconstructexception

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

    对于转换用户 对于转换用户: 从 V7.0 开始,此定制属性的缺省值已进行更改。在 V7.0 中,缺省值为 falsetrns
    名称
    缺省值
    com.ibm.ws.webcontainer.throwpostconstructexception true
    [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 false

    com.ibm.ws.webcontainer.useOriginalRequestState

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

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

    com.ibm.ws.webcontainer.useSemiColonAsDelimiterInURI

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

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

    com.ibm.ws.webcontainer.webgroupvhostnotfound

    错误消息 SRVE0017W 指出“找不到 Web 组:{0}”,而错误消息 SRVE0255 指出“未定义要处理 {0} 的 Web 组/虚拟主机”。找不到为了处理 IBM WebSphere Application Server 所要处理的请求而调用的应用程序时,可能会返回这些消息。您可以使用 com.ibm.ws.webcontainer.webgroupvhostnotfound 定制属性将这些消息的文本更改为更适合于环境的文本。

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

    none

    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 false

    com.ibm.wsspi.jsp.convertAttrValueToString

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

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

    com.ibm.wsspi.jsp.disableElCache

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

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

    com.ibm.wsspi.jsp.disableResourceInjection

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

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

    如果您只希望对特定应用程序禁用资源注入功能,那么可以向那些特定应用程序的 ibm-web-ext.xmi 文件添加 JSP 属性 disableResourceInjection。

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

    com.ibm.wsspi.jsp.disableTldSearch

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

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

    com.ibm.wsspi.jsp.enabledoublequotesdecoding

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

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

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

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

    com.ibm.wsspi.jsp.removexmlnsfromoutput

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

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

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

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

    ConnectionResponseTimeout

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

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

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

    DebugSessionCrossover

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

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

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

    名称
    缺省值
    DebugSessionCrossover false

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

    DecodeUrlAsUTF8

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

    名称
    缺省值
    DecodeUrlAsUTF8 true

    DisableMultiThreadedServletConnectionMgmt

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

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

    名称
    缺省值
    DisableMultiThreadedServletConnectionMgmt false

    com.ibm.ws.webcontainer.denyDuplicateFilterinChain

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

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

    enableInProcessConnections

    使用 enableInProcessConnections 定制属性来缩短响应时间,并减少用来服务请求的线程数,这将降低发生死锁的可能性。

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

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

    名称
    缺省值
    enableInProcessConnections false

    请参阅“Web Service 客户机至 Web 容器优化通信”主题以了解其他信息。

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

    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 true
    directoryBrowsingEnabled false
    serveServletsByClassnameEnabled false

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

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

    ForceSessionIdLengthCheck

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

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

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

    名称
    缺省值
    ForceSessionIdLengthCheck false

    ForceSessionInvalidationMultiple

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

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

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

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

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

    名称
    缺省值
    ForceSessionInvalidationMultiple 1

    httpsIndicatorHeader

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

    名称
    缺省值
    httpsIndicatorHeader none

    HttpSessionIdReuse

    定制属性 HttpSessionIdReuse 用于确定会话管理器是否可以使用从浏览器发送的会话标识来保存 Web 应用程序(在未针对会话持久性进行配置的环境中运行)之间的会话数据。在未针对会话持久性进行配置的多 JVM 环境中,将此属性设置为 true 可以使会话管理器对用户的所有请求使用相同的会话信息,即使处理这些请求的 Web 应用程序由不同的 JVM 文件管理也是如此。此属性的缺省值为 false

    注: 不推荐将 HttpSessionIdReuse 属性用作 Web 容器定制属性。您现在可以将此功能定义为会话管理定制属性。

    要使会话管理器可以使用从浏览器发送的会话标识来保存 Web 应用程序间的会话数据(这些应用程序正在未配置会话持久性的环境中运行),请将此属性设置为 true

    名称
    缺省值
    HttpSessionIdReuse false

    侦听器

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

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

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

    [z/OS]

    MutualAuthCBindCheck

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

    使用 MutualAuthCBindCheck 属性来指定是否将客户机证书解析成 SAF 主体。如果此属性设置为 true,那么来自浏览器的所有 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 false

    prependSlashToResource

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

    名称
    缺省值
    prependSlashToResource false

    com.ibm.ws.webcontainer.suppressLoggingServiceRuntimeExcep

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

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

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

    trusted

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

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

    UseOracleBLOB

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

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

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

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

    setContentLengthOnClose

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

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

    名称
    缺省值
    setContentLengthOnClose true

    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 模式的多个 Servlet 的冲突的新应用程序,无法部署此类应用程序。
    • 不会忽略 com.ibm.ws.webcontainer.RedirectWithPathInfo WebContainer 定制属性中设置的值。
    • 如果 Servlet 抛出 IOException,并且针对该请求配置了过滤器,那么 WebContainer 会抛出 ServletException。

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

    名称
    缺省值
    com.ibm.ws.webcontainer.servlet30compatibility false
    技术链接
  • 相关阅读:
    oracle日志总结
    UIScrollView,contentOffset,contentInsert的各自特点和区别?
    js动态增加表格
    判断某个对象是不是DOM对象
    IOS 中frame与bounds的区别
    删除重复项,只取其中一条数据
    NSBundle
    React
    HTML5 postMessage 和 onmessage API 详解
    SonarQube
  • 原文地址:https://www.cnblogs.com/liujiacai/p/14797870.html
Copyright © 2011-2022 走看看