模块  java.base
软件包  java.net

Class 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

        public ResponseCache()
    • 方法详细信息

      • setDefault

        public static void setDefault​(ResponseCache responseCache)
        设置(或取消设置)系统范围的缓存。 注意:非标准的procotol处理程序可能会忽略此设置。
        参数
        responseCache - 响应缓存,或 null以取消设置缓存。
        异常
        SecurityException - 如果已安装安全管理器且拒绝NetPermission ("setResponseCache")
        从以下版本开始:
        1.5
        另请参见:
        getDefault()
      • put

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