java.net

接口
异常
java.lang.Object
  继承者 java.net.ResponseCache

public abstract class ResponseCache
     
extends Object

表示 URLConnection 缓存的实现。这种类的实例可以通过执行 ResponseCache.setDefault(ResponseCache) 向系统注册,系统将调用此对象以便:

  • 将从外部源获得的资源数据存储到缓存中
  • 试图获取可能存储在缓存中的请求资源
ResponseCache 实现决定应该缓存的资源和缓存它们的时间。如果无法从缓存获得请求资源,则协议处理程序将从其初始位置获取该资料。 URLConnection#useCaches 的设置控制着是否允许协议使用缓存的响应。 有关 HTTP 缓存的更多信息,请参见 RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1

从以下版本开始:
1.5

构造方法摘要
ResponseCache()
           
 
方法摘要
abstract  CacheResponse get(URI uri, String rqstMethod, Map<String,List<String>> rqstHeaders)
          根据请求的 uri、请求方法和请求头获取缓存的响应。
static ResponseCache getDefault()
          获取系统级响应缓存。
abstract  CacheRequest put(URI uri, URLConnection conn)
          协议处理程序在获得资源后调用此方法,ResponseCache 必须决定是否在其缓存中存储资源。
static void setDefault(ResponseCache responseCache)
          设置(或取消设置)系统级缓存。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

ResponseCache

public ResponseCache()
方法详细信息

getDefault

public static ResponseCache getDefault()
获取系统级响应缓存。

返回:
系统级 ResponseCache
抛出:
SecurityException - 如果安装了安全管理器并且它拒绝 NetPermission ("getResponseCache")
从以下版本开始:
1.5
另请参见:
setDefault(ResponseCache)

setDefault

public static void setDefault(ResponseCache responseCache)
设置(或取消设置)系统级缓存。 注:非标准协议处理程序可能忽略此设置。

参数:
responseCache - 响应缓存,或者为 null,表示取消设置缓存。
抛出:
SecurityException - 如果安装了安全管理器并且它拒绝 NetPermission ("setResponseCache")
从以下版本开始:
1.5
另请参见:
getDefault()

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
另请参见:
URLConnection.setUseCaches(boolean), URLConnection.getUseCaches(), URLConnection.setDefaultUseCaches(boolean), URLConnection.getDefaultUseCaches()

put

public abstract CacheRequest put(URI uri,
                                 URLConnection conn)
                          throws IOException
协议处理程序在获得资源后调用此方法,ResponseCache 必须决定是否在其缓存中存储资源。如果缓存资源,则 put() 必须返回 CacheRequest 对象,该对象包含协议处理程序用来将资源写入缓存的 WriteableByteChannel。如果不缓存资源,则 put 必须返回 null。

参数:
uri - 用于引用所请求的网络资源的 URI
conn - 用于获取要缓存的响应的 URLConnection 实例
返回:
用于记录要缓存的响应的 CacheRequest。返回 null 指示调用方不打算缓存响应。
抛出:
IOException - 如果发生 I/O 错误
IllegalArgumentException - 如果参数中的任何一个为 null