java.lang.Object
java.net.ResponseCache
代表URLConnection缓存的实现。这样的类的实例可以通过ResponseCache.setDefault(ResponseCache)注册到系统中,系统将调用此对象来:
- 将从外部源检索到的资源数据存储到缓存中
- 尝试从缓存中获取可能已存储在其中的请求资源
- 自:
- 1.5
- 外部规范
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract CacheResponse
根据请求的URI、请求方法和请求标头检索缓存的响应。static ResponseCache
获取系统范围的响应缓存。abstract CacheRequest
put
(URI uri, URLConnection conn) 协议处理程序在检索到资源后调用此方法,ResponseCache必须决定是否将资源存储在其缓存中。static void
setDefault
(ResponseCache responseCache) 设置(或取消设置)系统范围的缓存。
-
Constructor Details
-
ResponseCache
public ResponseCache()子类调用的构造函数。
-
-
Method Details
-
getDefault
获取系统范围的响应缓存。- 返回:
-
系统范围的
ResponseCache
- 抛出:
-
SecurityException
- 如果安装了安全管理器并且拒绝NetPermission
("getResponseCache")
- 自:
- 1.5
- 参见:
-
setDefault
设置(或取消设置)系统范围的缓存。注意:非标准协议处理程序可能会忽略此设置。- 参数:
-
responseCache
- 响应缓存,或null
以取消缓存。 - 抛出:
-
SecurityException
- 如果安装了安全管理器并且拒绝NetPermission
("setResponseCache")
- 自:
- 1.5
- 参见:
-
get
public abstract CacheResponse get(URI uri, String rqstMethod, Map<String, List<String>> rqstHeaders) throws IOException根据请求的URI、请求方法和请求标头检索缓存的响应。通常,协议处理程序在发送请求以获取网络资源之前调用此方法。如果返回了缓存的响应,则使用该资源。- 参数:
-
uri
- 用于引用请求的网络资源的URI
-
rqstMethod
- 表示请求方法的String
-
rqstHeaders
- 从请求标头字段名称到当前请求标头值列表的映射 - 返回:
-
如果从缓存中可用,则返回
CacheResponse
实例,否则返回null - 抛出:
-
IOException
- 如果发生I/O错误 -
IllegalArgumentException
- 如果任何一个参数为null - 参见:
-
put
协议处理程序在检索到资源后调用此方法,ResponseCache必须决定是否将资源存储在其缓存中。如果要缓存资源,则put()必须返回一个包含OutputStream的CacheRequest对象,协议处理程序将使用该OutputStream将资源写入缓存。如果不打算缓存资源,则put必须返回null。- 参数:
-
uri
- 用于引用请求的网络资源的URI
-
conn
- 用于获取要缓存的响应的URLConnection实例 - 返回:
-
用于记录要缓存的响应的
CacheRequest
。返回null表示调用方不打算缓存响应。 - 抛出:
-
IOException
- 如果发生I/O错误 -
IllegalArgumentException
- 如果任何一个参数为null
-