當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。