Clase java.net.CacheRequest en Java

La clase CacheRequest se usa en Java siempre que sea necesario almacenar recursos en ResponseCache . Más precisamente, las instancias de esta clase brindan una ventaja para que el objeto OutputStream almacene datos de recursos en el caché; de hecho, los controladores de protocolo invocan este objeto OutputStream. La clase CacheRequest pertenece al paquete java.net junto con otras clases como Authenticator, CacheResponse, ServerSocket , SocketAddress y muchas más.

Autenticador Dirección Inet6 ServerSocket
CacheRequest InetAddress Enchufe
CachéRespuesta InetSocketAddress Dirección del zócalo
controlador de contenido Dirección de interfaz SocketImpl
controlador de cookies JarURLConexión  Permiso de socket
administrador de cookies MulticastSocket URI
paquete de datagramas Permiso de red URL

Java.Net Package es un contenedor para clases potentes que proporciona infraestructura de red para Java. Ahora, centrándonos en los dos métodos presentes en esta clase, que son los siguientes:

  1. abortar() M étodo
  2. método getBody()

Método 1: Método abortar ()

Permite interrumpir y abandonar el funcionamiento del almacenamiento en caché. Por lo tanto, se utiliza para abortar la respuesta de la memoria caché, cada vez que se produce una IOException, se aborta la operación actual de la memoria caché. Por lo tanto, en palabras más simples, aborta el intento de almacenar en caché la respuesta.

Sintaxis: 

public abstract void abort()

Excepciones: lanza IOException si se encuentra algún error de entrada-salida

Método 2: Método getBody  ()

Simplemente devuelve un InputStream desde el cual se puede acceder al cuerpo de la respuesta.

Sintaxis:

public abstract OutputStream getBody ()

Tipo de retorno : OutputStream para el que se debe iniciar la respuesta.

Excepciones: lanza IOException si se encuentra algún error de entrada-salida

Implementación:

Ejemplo

Java

// Java Program to illustrate CacheRequest Class
// java.net package
 
// Importing IOException class from
// java,io package
import java.io.IOException;
// Importing all classes from java.net package package
// to create an applet to run on anetwork
import java.net.*;
// Importing List and Map classes from
// java.util package
import java.util.List;
import java.util.Map;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String args[]) throws Exception
    {
 
        // Passing the string uri
        String ur = "https://www.geeksforgeeks.org";
 
        // Now, calling the constructor of the URI class
        URI ur1 = new URI(ur);
 
        // Passing the url
        URL url = new URL(
            "https://www.geeksforgeeks.org/category/java-programs/");
 
        // Now, calling the constructor of the URLConnection
        URLConnection uc = url.openConnection();
 
        ResponseCache responseCache = new ResponseCache() {
            // Calling the abstract methods
            public CacheResponse get(
                URI ur, String reqMethod,
                Map<String, List<String> > rqstHeaders)
                throws IOException
            {
                return null;
            }
 
            @Override
            public CacheRequest put(URI ur,
                                    URLConnection conn)
                throws IOException
            {
                return null;
            }
        };
 
        // Display message only
        System.out.println(
            "The put() method has been initiated and called Successfully!");
 
        // The put() method returns the
        // CacheRequest for recording
        System.out.println("The put() method returns: "
                           + responseCache.put(ur1, uc));
    }
}
Producción

The put() method has been initiated and called Successfully!
The put() method returns: null

Finalmente, hemos terminado con las cosas técnicas puras relacionadas con esta clase. Finalmente, echemos un vistazo a la aplicación en el mundo real de esta clase. Esta clase se usa indirectamente en la vida diaria de una persona de software, ya que proporciona clases para implementar aplicaciones de red con una amplia versatilidad. 

  • Web
  • Transferencia de archivos
  • Correo electrónico.
  • Acceso remoto a terminales

Publicación traducida automáticamente

Artículo escrito por ravi.geek24 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *