Servlet – Respuesta

Una aplicación web se crea utilizando la tecnología Servlet (reside en el lado del servidor y genera una página web dinámica). Debido al lenguaje de programación Java, la tecnología de servlet es confiable y escalable. El lenguaje de secuencias de comandos CGI (Common Gateway Interface) se usaba ampliamente como lenguaje de programación del lado del servidor antes de Servlet.

Servlet – Respuesta

Un servlet puede usar este objeto para ayudarlo a proporcionar una respuesta al cliente. El contenedor de servlet crea un objeto ServletResponse y lo pasa como argumento a la función de servicio del servlet.

Utilice el ServletOutputStream proporcionado por getOutputStream para entregar datos binarios en una respuesta de cuerpo MIME(). Use el objeto PrintWriter proporcionado por getWriter para entregar datos de caracteres(). Utilice un ServletOutputStream y controle manualmente las secciones de caracteres para combinar datos binarios y de texto, por ejemplo, para generar una respuesta de varias partes.

Los métodos setCharacterEncoding(java.lang.String) y setContentType(java.lang.String) se pueden usar para proporcionar el juego de caracteres para la respuesta del cuerpo MIME, o se puede usar el método setLocale(java.util.Locale) para especificarlo implícitamente. . Los requisitos implícitos son anulados por especificaciones explícitas. Se utilizará ISO-8859-1 si no se proporciona ningún juego de caracteres. Para que se utilice la codificación de caracteres, se debe llamar a los métodos setCharacterEncoding, setContentType o setLocale antes de getWriter y antes de confirmar la respuesta.

Algunos métodos importantes de ServletResponse

Métodos

Descripción

String getCharacterEncoding() Devuelve el nombre del conjunto de caracteres MIME que se usó en el cuerpo de la respuesta del cliente.
String getContentType() Devuelve el tipo de contenido de la respuesta. por ejemplo, texto, HTML, etc.
 ServletOutputStream getOutputStream() Este método devuelve un ServletOutputStream que puede usarse para escribir datos binarios en la respuesta.
ImprimirEscritor getEscritor() El objeto PrintWriter se utiliza para transmitir texto de caracteres al cliente.
void setContentLength(largo int) Establece la longitud del cuerpo del contenido de la respuesta. Esta función establece el encabezado HTTP Content-Length en los servlets HTTP.
void setContentType (tipo de string) Establece el tipo de los datos de respuesta.
void setBufferSize(tamaño int) especifica el tamaño de búfer recomendado para el cuerpo de la respuesta.
int getBufferSize() Devuelve el tamaño del búfer
anular el búfer de descarga() Cualquier material en el búfer se verá obligado a escribirse en el cliente.
booleano está comprometido() Si la respuesta se ha confirmado, este método devuelve un valor booleano.
void setLocale(localización local) Si la respuesta aún no se ha confirmado, establece la ubicación de la respuesta.
reinicio nulo() Borra los datos del búfer, así como los encabezados y el código de estado. Para adquirir una lista completa de formas, vaya aquí.

Implementación: los métodos setContentType() y getWriter() de la interfaz ServletResponse se utilizaron en el siguiente ejemplo.

A. Archivo:index.html

HTML

<html>
<body>
<title> GEEKSFORGEEKS </title>
<form action="GFG" method="get">
 Enter your username: 
<br><br>
<input type="text" name="uname">
<br><br>
<input type="submit" value="login">
</form>
</body>
</html>

B. Archivo de aplicación (GFG.java)

Java

import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class GFG extends HttpServlet{
   public void doGet(HttpServletRequest req,HttpServletResponse res)
   throws ServletException,IOException
   {
     res.setContentType("text/html");
     PrintWriter pwriter=res.getWriter();
     String name=req.getParameter("uname");
     pwriter.println("This is user details page:");
     pwriter.println("Hello "+name);
     pwriter.close();
  }
}

C.web.xml _

XML

<web-app>
<servlet>
   <servlet-name>GFG</servlet-name>
   <servlet-class>GFG</servlet-class>
</servlet>
<servlet-mapping> 
   <servlet-name>GFG</servlet-name>
   <url-pattern>/GFG</url-pattern>
</servlet-mapping>
</web-app>

Producción:

La primera pantalla muestra el siguiente resultado:

La segunda pantalla muestra el siguiente resultado:

Publicación traducida automáticamente

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