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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。