public abstract class HttpExchange extends Object
一个HttpExchange
必须关闭免费或重用底层资源。未能关闭交换的效果是不确定的。
Modifier and Type | Field and Description |
---|---|
static String |
REQUEST_CIPHER_SUITE
标准特性:密码套件价值当收到请求通过HTTPS
|
static String |
REQUEST_KEY_SIZE
标准属性:点大小的算法,当请求被接收在HTTPS
|
static String |
REQUEST_X509CERTIFICATE
标准的属性:一个SSL证书,如果有,与请求关联的
|
Constructor and Description |
---|
HttpExchange() |
Modifier and Type | Method and Description |
---|---|
abstract void |
addResponseHeader(String name, String value)
添加一个具有给定名称和值的响应头。
|
abstract void |
close()
这必须被调用结束一个交换。
|
abstract Object |
getAttribute(String name)
返回与此相关的属性
HttpExchange 。
|
abstract Set<String> |
getAttributeNames()
给所有的属性名称,这
HttpExchange 相关。
|
abstract String |
getContextPath()
返回应用程序中所有端点的上下文路径。
|
abstract HttpContext |
getHttpContext()
返回该交换
HttpContext 。
|
abstract InetSocketAddress |
getLocalAddress()
返回已接收到的未解决的本地地址。
|
abstract String |
getPathInfo()
返回额外的路径信息,包括Web服务路径,但在查询字符串中的请求,将启动一个“/”字符。
|
abstract String |
getProtocol()
回报的形式从协议/ majorversion.minorversion请求的协议字符串。
|
abstract String |
getQueryString()
返回查询的字符串,包含在请求URI路径后。
|
abstract InetSocketAddress |
getRemoteAddress()
返回调用此请求的远程实体的未解决的地址。
|
abstract InputStream |
getRequestBody()
返回一个可以读取请求正文的流。
|
abstract String |
getRequestHeader(String name)
返回指定的请求头的值。
|
abstract Map<String,List<String>> |
getRequestHeaders()
返回包含HTTP头包含在这个请求一个不变的Map。
|
abstract String |
getRequestMethod()
获取HTTP请求的方法
|
abstract String |
getRequestURI()
返回HTTP请求的第一行从协议名称来查询字符串的请求的URI的一部分。
|
abstract OutputStream |
getResponseBody()
返回响应体必须写入的流。
|
abstract Map<String,List<String>> |
getResponseHeaders()
返回一个可变的Map到HTTP响应头可以存储并将其作为该反应的一部分发送。
|
abstract String |
getScheme()
例如,返回使用提出这一要求,方案的名称:HTTP或HTTPS。
|
abstract Principal |
getUserPrincipal()
返回表示这
HttpExchange 认证用户的
Principal 。
|
abstract boolean |
isUserInRole(String role)
指示已验证身份的用户是否包含在指定的逻辑“角色”中。
|
abstract void |
setStatus(int status)
设置响应的HTTP状态码。
|
public static final String REQUEST_CIPHER_SUITE
类型:字符串
HTTPSpublic static final String REQUEST_KEY_SIZE
类型:整数
HTTPSpublic static final String REQUEST_X509CERTIFICATE
类型:java。安全。cert.x509certificate [ ]这个数组的顺序是升序的信任。链中的第一个证书是由客户端设置的,下一个证书是用来对第一个进行身份验证的,等等。
相关要求public abstract Map<String,List<String>> getRequestHeaders()
在Map上的键是不区分大小写的。
public abstract String getRequestHeader(String name)
getRequestHeaders()
)。
name
-请求标头的名称
public abstract Map<String,List<String>> getResponseHeaders()
在Map上的键是不区分大小写的。
public abstract void addResponseHeader(String name, String value)
getResponseHeaders()
)。
name
-标头的名称
value
-额外的标头值。如果它包含字符串,应该根据RFC 2047编码(http://www.ietf.org/rfc/rfc2047.txt)
getResponseHeaders()
public abstract String getRequestURI()
public abstract String getContextPath()
上下文路径用于计算端点地址。看到HttpContext.getPath()
HttpContext.getPath()
public abstract String getRequestMethod()
public abstract HttpContext getHttpContext()
HttpContext
。容器与相关的端点的HttpContext的要求
public abstract void close() throws IOException
IOException
-如果任何I/O错误
public abstract InputStream getRequestBody() throws IOException
IOException
-如果任何I/O请求处理过程中的错误
public abstract OutputStream getResponseBody() throws IOException
setStatus(int)
)必须在调用此方法之前调用。此方法的多个调用(对于同一个交换)将返回相同的流。
IOException
-如果任何I/O错误时的反应处理
public abstract void setStatus(int status)
这个方法必须调用getResponseBody()
之前调用。
status
-响应代码发送
getResponseBody()
public abstract InetSocketAddress getRemoteAddress()
public abstract InetSocketAddress getLocalAddress()
public abstract String getProtocol()
public abstract String getScheme()
public abstract String getPathInfo()
public abstract String getQueryString()
public abstract Object getAttribute(String name)
HttpExchange
。JAX-WS处理程序和端点可以通过
MessageContext
访问属性。
servlet容器必须暴露MessageContext.SERVLET_CONTEXT
,MessageContext.SERVLET_REQUEST
,和MessageContext.SERVLET_RESPONSE
属性。
如果请求已经通过使用HTTPS容器接收,以下信息必须公开为属性。这些属性是REQUEST_CIPHER_SUITE
,和REQUEST_KEY_SIZE
。如果有一个与请求关联的SSL证书,则必须使用REQUEST_X509CERTIFICATE
暴露
name
属性名称
public abstract Set<String> getAttributeNames()
HttpExchange
相关。
getAttribute(String)
public abstract Principal getUserPrincipal()
Principal
表示经过身份验证的用户,这
HttpExchange
。
public abstract boolean isUserInRole(String role)
role
-指定角色的名字
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.