运行时属性

目录

简介

以下属性在运行时提供给 Web 应用程序。其中许多属性提供对 Tomcat 内部的访问。暴露 Tomcat 内部的属性可以通过名称明确请求,但在请求可用属性列表时通常会故意不包含它们。

请求属性

请求属性通过调用 ServletRequest.getAttribute(String) 方法提供给 Web 应用程序。

属性描述
jakarta.servlet.request.cipher_suite

Servlet 规范定义的属性,用于表示 SSL 连接上使用的密码套件名称。

jakarta.servlet.request.key_size

Servlet 规范定义的属性,用于表示 SSL 连接上使用的密钥大小。

jakarta.servlet.request.secure_protocol

Servlet 规范定义的属性,用于表示安全连接上使用的安全协议名称(例如 TLSv1.3)。

jakarta.servlet.request.ssl_session_id

Servlet 规范定义的属性,用于表示 SSL 连接使用的会话 ID。

jakarta.servlet.request.ssl_session_mgr

Tomcat 对 Servlet 规范的特定扩展,提供用于 SSL 连接的会话管理器。

jakarta.servlet.request.X509Certificate

Servlet 规范定义的属性,用于表示客户端(如果有)提供的证书链的 X509Certificate 对象数组。

org.apache.catalina.ASYNC_SUPPORTED

当前请求的处理链(Servlet、过滤器、Valve)是否支持异步处理?链中的每个组件都必须支持异步处理,此属性才为 true

org.apache.catalina.NAMED

当前命名分派的目标 Servlet 名称(如果有)。

org.apache.catalina.core.DISPATCHER_TYPE

请求当前的 jakarta.servlet.DispatcherType

org.apache.catalina.core.DISPATCHER_REQUEST_PATH

请求已分派到的当前路径(Servlet Info + Path Info)。

org.apache.catalina.filters.RemoteIpFilter.secure

如果 RemoteIpFilter 确定此请求是通过安全通道提交的,则此请求属性被设置为 Boolean.TRUE

org.apache.catalina.realm.GSS_CREDENTIAL

如果当前认证用户已使用 SPNEGO 认证成功,则为该用户提供 GSS 凭据。

org.apache.tomcat.peerAddr

由 RemoteIpFilter、RemoteIpValve(以及其他类似组件)设置的请求属性,用于标识连接对等体的 IP 地址。

org.apache.tomcat.remoteAddr

由 RemoteIpFilter、RemoteIpValve(以及其他类似组件)设置的请求属性,用于为连接器标识当请求通过一个或多个代理接收时声称与此请求关联的远程 IP 地址。它通常通过 X-Forwarded-For HTTP 头提供。

org.apache.tomcat.request.forwarded

由 RemoteIpFilter、RemoteIpValve(以及其他类似组件)设置为 Boolean.TRUE 的请求属性,用于标识通过一个或多个代理转发的请求。

org.apache.tomcat.sendfile.end

Servlet 可以使用此请求属性将文件的一部分(通过 sendfile 提供)的结束偏移量(不包括在内)传递给连接器。该值应为 Long 类型。要提供完整文件,该值应等于文件长度。

org.apache.tomcat.sendfile.filename

Servlet 可以使用此请求属性将通过 sendfile 提供服务的文件名传递给连接器。该值应为 String 类型,表示要提供服务的文件规范路径。

org.apache.tomcat.sendfile.start

Servlet 可以使用此请求属性将文件的一部分(通过 sendfile 提供)的起始偏移量传递给连接器。该值应为 Long 类型。要提供完整文件,该值应为 Long.valueOf(0)

org.apache.tomcat.sendfile.support

如果处理此请求的连接器支持使用 sendfile,则此请求属性被设置为 Boolean.TRUE

ServletContext 属性

ServletContext 属性通过调用 ServletContext.getAttribute(String) 方法提供给 Web 应用程序。

属性描述
org.apache.catalina.CredentialHandler

与 Context 显式关联的 Realm(如果有)所关联的 CredentialHandler(如果有)。不考虑与父容器(Host 或 Engine)关联的 Realm。

org.apache.catalina.deploy.alt_dd

此 Web 应用程序的备用部署描述符。

org.apache.catalina.jsp_classpath

应用程序类加载器的类路径(String 类型对象),使用适用于平台的相应路径分隔符进行分隔。

org.apache.catalina.resources

与 Context 关联的 WebResourceRoot。

org.apache.catalina.webappVersion

Web 应用程序版本字符串(当配置并行部署时,## 后面的文本)。

org.apache.tomcat.InstanceManager

用于为 Web 应用程序创建 Servlets、Filters、Listeners 等的 InstanceManager。

org.apache.tomcat.JarScanner

用于扫描 Web 应用程序以查找注解、TLD、Web 片段和类似特性的 JarScanner 实例。

org.apache.tomcat.util.threads.ScheduledThreadPoolExecutor

此 Context 的实用程序执行器。