ResponseCache in java is used for constructing implementation of URLConnection caches, and it nominates which resource has to be cached and up to what time duration a resource needed to be cached.
An instance of ResponseCache can be created using the system by doing :
ResponseCache.setDefault(ResponseCache)
The instance created by using the above statement will call an object of ResponseCache in order to :
- For storing resource data that has been which has been retrieved from an external source into the cache.
- For fetching a resource that has been stored in the cache on request.
- Response cache can be imported through java.net package
java.net.ResponseCache
Methods of ResponseCache class :
Method | Description |
---|---|
get(URI uri, String rqstMethod, Map<String,List<String> > rqstHeaders) | This method is used for retrieving the cached response depending upon the requesting URI, request method and request headers. |
getDefault() | This method is used for retrieving the system-wide cache response. |
put(URI uri, URLConnection conn) | The protocol handler calls this method whenever a resource has been retrieved and the ResponseCache must decide whether to store the resource in its cache. |
setDefault(ResponseCache responseCache) | This method is used to set or unset the system-wide cache |
Applications of ResponseCache class : Â Â
1. In the java.net package, ResponseCache is used for implementing for caching of resources for various network applications such as :
- File Transfer
- Remote Terminal Access
- Loading web pages
java.net.ResponseCache
2. In java.net, ResponseCache is applied in fetching out system-wide response cache.
public static ResponseCache.getDefault()
3. In java.net, ResponseCcahe is used in setting or unsetting out the system-wide cache.
public static void ResponseCache.setDefault(ResponseCache responseCache)
Java program for implementing java.net.ResponseCache :
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           // Calling the constructor of the URI class         URI uri1 = new URI(uri);           // passing the url           // 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));     } } |
Output :