java中的ResponseCache用於構造URLConnection緩存的實現,它指定必須緩存哪些資源以及需要緩存資源的持續時間。
可以通過執行以下操作使用係統創建 ResponseCache 的實例:
ResponseCache.setDefault(ResponseCache)
使用上述語句創建的實例將調用ResponseCache的對象,以便:
- 用於將從外部源檢索到的資源數據存儲到緩存中。
- 用於根據請求獲取已存儲在緩存中的資源。
- 響應緩存可以通過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用於實現各種網絡應用程序的資源緩存,例如:
- 文件傳輸
- 遠程終端訪問
- 加載網頁
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));
}
}
輸出:
相關用法
- Java java.net.SocketException用法及代碼示例
- Java java.net.Proxy用法及代碼示例
- Java java.net.ProxySelector用法及代碼示例
- Java java.net.ProtocolFamily用法及代碼示例
- Java java.net.SocketOption用法及代碼示例
- Java java.net.CookiePolicy用法及代碼示例
- Java java.net.SecureCacheResponse用法及代碼示例
- Java java.net.CacheResponse用法及代碼示例
- Java java.net.SocketImplFactory用法及代碼示例
- Java java.net.URLPermission用法及代碼示例
- Java java.net.NetPermission用法及代碼示例
- Java java.net.CacheRequest用法及代碼示例
- Java java.net.FileNameMap用法及代碼示例
- Java java.net.CookieStore用法及代碼示例
- Java java.net.PasswordAuthentication用法及代碼示例
- Java java.net.CookieHandler用法及代碼示例
- Java java.net.CookieManager用法及代碼示例
- Java java.net.BindException用法及代碼示例
- Java java.net.URLConnection用法及代碼示例
- Java java.net.Socket用法及代碼示例
- Java java.net.ServerSocket用法及代碼示例
- Java java.net.InetAddress用法及代碼示例
- Java java.nio.ByteBuffer用法及代碼示例
- Java java.nio.IntBuffer用法及代碼示例
- Java java.nio.file.FileStore用法及代碼示例
注:本文由純淨天空篩選整理自ravi.geek24大神的英文原創作品 java.net.ResponseCache Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。