当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java java.net.ResponseCache用法及代码示例


java中的ResponseCache用于构造URLConnection缓存的实现,它指定必须缓存哪些资源以及需要缓存资源的持续时间。

可以通过执行以下操作使用系统创建 ResponseCache 的实例:

ResponseCache.setDefault(ResponseCache)

使用上述语句创建的实例将调用ResponseCache的对象,以便:

  1. 用于将从外部源检索到的资源数据存储到缓存中。
  2. 用于根据请求获取已存储在缓存中的资源。
  3. 响应缓存可以通过java.net包导入

java.net.ResponseCache

ResponseCache类的方法:

方法 说明
get(URI uri, 字符串 rqstMethod, Map<String,List<String>> rqstHeaders) 此方法用于根据请求 URI、请求方法和请求标头检索缓存的响应。
getDefault() 此方法用于检索system-wide缓存响应。
put(URI uri, URLConnection conn) 每当检索到资源时,协议处理程序都会调用此方法,并且 ResponseCache 必须决定是否将该资源存储在其缓存中。
setDefault(ResponseCache responseCache) 该方法用于设置或取消设置system-wide缓存

ResponseCache类的应用:

1. 在java.net包中,ResponseCache用于实现各种网络应用程序的资源缓存,例如:

  1. Email
  2. 文件传输
  3. 远程终端访问
  4. 加载网页

java.net.ResponseCache

2. 在java.net中,ResponseCache用于获取system-wide响应缓存。

public static ResponseCache.getDefault()

3. 在java.net中,ResponseCcahe用于设置或取消设置system-wide缓存。

public static void ResponseCache.setDefault(ResponseCache responseCache)

实现java.net.ResponseCache的Java程序:

Java


import java.io.IOException; 
import java.net.*; 
import java.util.HashMap; 
import java.util.LinkedList; 
import java.util.List; 
import java.util.Map; 
public class JavaResponseCacheExample1 { 
    public static void main(String args[]) throws Exception 
    { 
  
        // passing the string uri 
        String uri = "https://www.onlinegdb.com"; 
  
        // Calling the constructor of the URI class 
        URI uri1 = new URI(uri); 
  
        // passing the url 
        URL url = new URL("http://www.onlinegdb.com"); 
  
        // calling the constructor of the URLConnection 
        URLConnection urlcon = url.openConnection(); 
        ResponseCache responseCache = new ResponseCache() { 
            // calling the abstract methods 
            @Override
            public CacheResponse get( 
                URI uri, String rqstMethod, 
                Map<String, List<String> > rqstHeaders) 
                throws IOException 
            { 
                return null; 
            } 
  
            @Override
            public CacheRequest put(URI uri, 
                                    URLConnection conn) 
                throws IOException 
            { 
                return null; 
            } 
        }; 
  
        // The sets the system-wide response cache. 
        ResponseCache.setDefault(responseCache); 
  
        // The getDefault() method returns 
        // the system-wide ResponseCache . 
        System.out.println("Default value: "
                           + ResponseCache.getDefault()); 
        Map<String, List<String> > maps 
            = new HashMap<String, List<String> >(); 
        List<String> list = new LinkedList<String>(); 
        list.add("REema"); 
  
        // put() method sets all the applicable cookies, 
        // present in the response headers into a cookie 
        // cache 
        maps.put("1", list); 
        System.out.println( 
            "The put() method has been called..."); 
  
        // The put() method returns the 
        // CacheRequest for recording 
        System.out.println( 
            "The put() method returns: "
            + responseCache.put(uri1, urlcon)); 
        System.out.println( 
            "The get() method has been called..."); 
  
        // The get() method returns a CacheResponse 
        // instance if it is available 
        System.out.println( 
            "The get() method returns: "
            + responseCache.get(uri1, uri, maps)); 
    } 
}

输出:



相关用法


注:本文由纯净天空筛选整理自ravi.geek24大神的英文原创作品 java.net.ResponseCache Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。