模块 java.base
 java.net

类 ResponseCache

java.lang.Object
java.net.ResponseCache

public abstract class ResponseCache extends Object
表示 URLConnection 缓存的实现。可以通过执行 ResponseCache.setDefault(ResponseCache) 向系统注册此类的实例,系统将调用此对象以:
  • 将从外部源检索到的资源数据存储到缓存中
  • 尝试获取可能已存储在缓存中的请求资源
ResponseCache 实现决定哪些资源应该被缓存,以及它们应该被缓存多长时间。如果无法从缓存中检索请求资源,则协议处理程序将从其原始位置获取资源。 URLConnection#useCaches 的设置控制是否允许协议使用缓存的响应。有关 HTTP 缓存的更多信息,请参阅 RFC 2616:超文本传输协议——HTTP/1.1
自从:
1.5
  • 构造方法详细信息

    • ResponseCache

      public ResponseCache()
      子类调用的构造方法。
  • 方法详情

    • getDefault

      public static ResponseCache  getDefault()
      获取系统范围的响应缓存。
      返回:
      全系统ResponseCache
      抛出:
      SecurityException - 如果安装了安全管理器并且它拒绝 NetPermission ("getResponseCache")
      自从:
      1.5
      参见:
    • setDefault

      public static void setDefault(ResponseCache  responseCache)
      设置(或取消设置)系统范围的缓存。注意:非标准协议处理程序可能会忽略此设置。
      参数:
      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 - 如果任一参数为空
      参见:
    • put

      public abstract CacheRequest  put(URI  uri, URLConnection  conn) throws IOException
      协议处理程序在检索到资源后调用此方法,并且 ResponseCache 必须决定是否将资源存储在其缓存中。如果要缓存资源,则 put() 必须返回一个 CacheRequest 对象,该对象包含一个 OutputStream,协议处理程序将使用该对象将资源写入缓存。如果不缓存资源,则 put 必须返回 null。
      参数:
      uri - 用于引用请求的网络资源的 URI
      conn - - 一个 URLConnection 实例,用于获取要缓存的响应
      返回:
      CacheRequest 用于记录要缓存的响应。返回 Null 表示调用者不打算缓存响应。
      抛出:
      IOException - 如果发生 I/O 错误
      IllegalArgumentException - 如果任一参数为空