Servlet – Clase de flujo de salida

La clase ServletOutputStream es un componente del paquete Java javax.servlet , es una clase abstracta que proporciona un flujo de salida para enviar datos binarios al cliente. ServletOutputStream hereda OutputStream, que es la superclase de todas las clases que representan un flujo de salida de bytes. Las subclases de la clase ServletOutputStream deben implementar el método java.io.OutputStream.write(int).

Firma 

public abstract class ServletOutputStream extends OutputStream 

Constructor 

ServletOutputStream() : Dado que ServletOutputStream es una clase abstracta, no se puede inicializar.

Nota : el método ServletResponse.getOutputStream() se usa para obtener la referencia de ServletOutputStream.

Métodos 

S.No

Método                   

Descripción                                          

Tipo de retorno                   

1. imprimir (booleano b)     El método print(boolean b) se utiliza para escribir un valor booleano en el cliente sin carácter CRLF al final. vacío
2. imprimir (caracter c) El método print(char c) se usa para escribir un carácter en el cliente sin carácter CRLF al final. vacío
3. imprimir (doble d) El método print(doble d) se utiliza para escribir un valor doble en el cliente sin carácter CRLF al final. vacío
4. imprimir (flotante f) El método print(float f) se usa para escribir un valor flotante en el cliente sin carácter CRLF al final. vacío
5. imprimir (int i) El método print(int i) se usa para escribir un valor int en el cliente sin carácter CRLF al final. vacío
6. imprimir (largo l) El método print(long l) se utiliza para escribir un valor largo en el cliente sin carácter CRLF al final. vacío
7. imprimir (String s) El método print(String s) se usa para escribir una string en el cliente sin carácter CRLF al final. vacío
8. imprimir() El método println() se usa para escribir un carácter CRLF al final. vacío
9. println(booleano b) El método println(boolean b) se usa para escribir un valor booleano en el cliente, seguido de un CRLF al final. vacío
10 println(carácter c) El método println(char c) se utiliza para escribir un carácter en el cliente, seguido de un CRLF al final. vacío
11 println(doble d) El método println(doble d) se usa para escribir un valor doble en el cliente, seguido de un CRLF al final. vacío
12 println(flotante f) El método println(float f) se usa para escribir un valor flotante en el cliente, seguido de un CRLF al final. vacío
13 println(int yo) El método println(int i) se usa para escribir un valor int en el cliente, seguido de un CRLF al final. vacío
14 println(largo l) El método println(long l) se utiliza para escribir un valor largo en el cliente, seguido de un CRLF al final. vacío
15. println(String s) El método println(String s) se usa para escribir una string en el cliente, seguida de un CRLF al final. vacío

Métodos abstractos de ServletOutputStream

S.No

Método                                                             

Descripción                                                           

Tipo de retorno     

1. setWriteListener(WriteListener writeListener)

Se utiliza el método setWriteListener(WriteListener writeListener)  

para instruir al ServletOutputStream para invocar el proporcionado

WriteListener cuando es posible escribir.

vacío abstracto
2. está listo() El método isReady() se usa para determinar si los datos se pueden escribir sin bloqueo. booleano abstracto

Interfaces implementadas por ServletOutputStream 

  1. java.io.Cerrable.
  2. java.io.Flushable.
  3. java.lang.AutoCloseable.

Programa Java para crear un servlet y luego enviar una imagen como respuesta – 

Java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class GeeksForGeeks extends HttpServlet {
    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException
    {
        try {
            // set response content type
            response.setContentType("image/jpg");
            // get the reference of servletOutputStream
            ServletOutputStream servletOutputStream;
            servletOutputStream
                = response.getOutputStream();
            BufferedInputStream bufferedInputStream
                = new BufferedInputStream(
                    new FileInputStream(
                        "c:/gfg/geeks.jpg"));
            BufferedOutputStream bufferedOutputStream
                = new BufferedOutputStream(
                    servletOutputStream);
            // read from buffer and 
            // then write that data to
            // bufferedOutputStream
            int tmp;
            while (1) {
                tmp = bufferedInputStream.read();
                if (tmp == -1)
                    break;
                bufferedOutputStream.write(tmp);
            }
        }
        catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
    public void doPost(HttpServletRequest request,
                       HttpServletResponse response)
    {
        doGet();
    }
}

Nota : el código anterior no se ejecutará en el IDE en línea, ya que es un código del lado del servidor.

Publicación traducida automáticamente

Artículo escrito por harshsethi2000 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 *