Acciones JSP que utilizan construcciones en sintaxis XML para controlar el comportamiento del motor de servlets. Aprenderemos más en detalle sobre varios elementos de acción JSP como solicitud del cliente, respuesta del servidor, códigos de estado HTTP.
En este tutorial, aprenderá:
- Solicitud de cliente JSP
- Respuesta del servidor JSP
- Códigos de estado HTTP JSP
Solicitud de cliente JSP
- Cuando se solicita la página web, envía información al servidor web en el encabezado HTTP.
- Podemos utilizar esta información mediante el objeto HTTPServletRequest.
- La información enviada por el navegador se almacena en el encabezado de solicitud de la solicitud HTTP.
- Estamos utilizando diferentes encabezados para enviar información al objeto de solicitud.
A continuación se describen diferentes encabezados:
Encabezamiento | Descripción | Ejemplo |
Aceptar | Especifica los tipos MIME que el navegador u otros clientes pueden manejar. | Imagen / png o imagen / jpeg.webp |
Aceptar juego de caracteres | Utiliza el juego de caracteres utilizado por el navegador para mostrar la información. | ISO-8859-1 |
Aceptar: codificación | Especifica el tipo de codificación que maneja el navegador. | Gzip o comprimir |
Aceptar-idioma | Especifica el idioma especificado por los clientes | En, en_us |
Autorización | Encabezado utilizado por los clientes cuando intentan acceder a páginas web protegidas con contraseña | |
Conexión | Indica si el cliente puede manejar conexiones HTTP persistentes (el navegador puede recuperar varios archivos) | Mantener viva |
Largancia de contenido | Aplicable para publicar solicitudes. Da el tamaño de los datos de publicación de bytes. | |
Galleta | Devuelve las cookies al servidor (las que se enviaron previamente al navegador) | |
Anfitrión | Especifica el host y el puerto de la URL original. | |
Si se modifica desde | Indica que solo requiere una página si ha sido cambiada o modificada | |
Si no ha sido modificado desde | Indica que requiere una página solo si no ha sido cambiada o modificada | |
Referente | Indica la URL de la página de URL de referencia | |
Agente de usuario | Identifica el navegador o el cliente que realiza la solicitud | |
Los siguientes métodos se utilizan para leer el encabezado HTTP en la página JSP:
- Cookie [] getCookies (): devuelve una matriz que contiene objetos de cookies que el cliente ha enviado
- Enumeración getAttributeNames (): contiene la enumeración de los nombres de los atributos para la solicitud
- Enumeración getHeaderNames (): contiene la enumeración de los nombres de la cabecera.
- Enumeración getParameterNames (): contiene una enumeración de cómo obtener nombres de parámetros en la solicitud.
- HttpSessiongetSession (): devuelve la sesión actual asociada con la solicitud o, si no tiene una sesión, creará una nueva.
- Locale getLocale (): devuelve la configuración regional preferida en la que el cliente aceptará contenido. Se ha asignado a la respuesta. De forma predeterminada, el valor será la configuración regional predeterminada del servidor.
- Object getAttribute (String name): devuelve el valor del atributo nombrado como un objeto.
- ServletInputStreamgetInputStream (): recupera el cuerpo de la solicitud como datos binarios.
- String getAuthType (): devuelve el nombre del esquema de autenticación para proteger el servlet
- String getCharacterEncoding (): devuelve el nombre de la codificación de caracteres utilizada en el cuerpo de la solicitud.
- String getContentType (): devuelve el tipo MIME del cuerpo de la solicitud.
- String getContextPath (): devuelve la parte del URI de solicitud que indica la ruta de contexto del URI
- String getHeader (String name): devuelve el encabezado de la solicitud como una cadena
- String getMethod (): devuelve el nombre del método HTTP como GET, POST
- String getParameter (String name): devuelve el parámetro de la solicitud como una cadena.
- String getPathInfo (): devuelve la información de la ruta asociada con la URL
- String getQueryString (): devuelve la cadena de consulta asociada con la URL de la solicitud
- String getServletPath (): devuelve la parte de las URL de la solicitud que llama al JSP
- String [] getParameterValues (nombre de cadena): devuelve la matriz de objetos de cadena que contienen los valores que tiene el parámetro de solicitud
Ejemplo:
En el siguiente ejemplo, estamos usando diferentes métodos usando el objeto de solicitud
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1" pageEncoding = "ISO-8859-1"%><% @ page import = "java.io. * java.util. *"%> Gurú de solicitudes de cliente JSP
JSP del experto en solicitudes de cliente
encabezado del gurú | Valor (es) del encabezado del gurú |
<%HttpSession gurusession = request.getSession ();out.print ("
El nombre de la sesión es | " + gurusession + " td.>
|
");Locale gurulocale = request.getLocale ();out.print ("
El nombre de la configuración regional es | " + gurulocale + " |
");Ruta de cadena = request.getPathInfo ();out.print ("
El nombre de la ruta es | " + ruta + " |
");String lpath = request.get ();out.print ("
La ruta de contexto es | " + lipath + " |
");String servername = request.getServerName ();out.print ("
El nombre del servidor es | " + nombre del servidor + " |
");int nombre de puerto = request.getServerPort ();out.print ("
El puerto del servidor es | " + nombre de puerto + " |
");Enumeración hnames = request.getHeaderNames ();while (hnames.hasMoreElements ()) {String paramName = (String) hnames.nextElement ();out.print ("
" + paramName + " | ");String paramValue = request.getHeader (paramName);out.println ("" + paramValue + " |
");}%>
Explicación del código:
Línea de código 17: Al usar el objeto de solicitud, obtenemos el objeto de sesión de esa sesión en particular y obtenemos el valor del objeto de esa sesión
Línea de código 19: utilizando el objeto de solicitud, obtenemos la configuración regional de esa sesión en particular i.een_US para esa JSP.
Línea de código 21: Al usar el objeto de solicitud, obtenemos información de ruta para ese JSP. En este caso, es nulo ya que no se menciona ninguna ruta para la URL.
Línea de código 23: al usar el objeto de solicitud, obtenemos la ruta de contexto, es decir, la ruta raíz
Línea de código 25: Al usar el objeto de solicitud, obtenemos el nombre del servidor.
Línea de código 27: usando el objeto de solicitud, obtenemos el puerto del servidor.
Línea de código 29-35: al usar el objeto de solicitud, obtenemos nombres de encabezado que aparecen como enumeración y, por lo tanto, obtenemos todos los valores de encabezado en los nombres de encabezado.
En esto, obtenemos todos los valores de encabezado como cookie, host, conexión, aceptamos el idioma, aceptamos la codificación.
Cuando ejecuta el código anterior, obtiene el siguiente resultado:
Salida :
Obtenemos la serie de valores como el nombre de la sesión, el nombre de la configuración regional, el nombre de la ruta, el nombre del servidor, el nombre del puerto, el host, la ruta del contexto y todos los valores de encabezado de esa JSP.
Respuesta del servidor JSP
- Cuando se procesa una solicitud y luego se genera la respuesta desde el servidor web. Consiste en una línea de estado, encabezados de respuesta, una línea en blanco y un documento.
- Es el objeto de HTTPServletResponseclass, que es un objeto de respuesta.
- La línea de estado es una versión de HTML.
Los encabezados de respuesta se mencionan a continuación:
Encabezamiento | Descripción |
Permitir | Especifica los métodos de solicitud como GET, POST que el servidor está solicitando |
Control de caché | El documento de respuesta se puede almacenar en caché. Puede ser público, privado y sin caché. Sin caché especifica que el documento no debe almacenarse en caché |
Conexión | Indica si el navegador debe utilizar SavedHTTPConnections o no. El valor de cierre representa que el navegador no debe usar conexiones persistentes en HTTPConnections y "mantener vivo" significa usar conexiones persistentes |
Disposición de contenido | Preguntar al usuario si desea guardar la respuesta en el disco o no. |
Codificación de contenido | La página debe estar codificada durante la transmisión |
Largancia de contenido | Número de bytes en la respuesta |
Tipo de contenido | Especifica el tipo de respuesta MIME |
Expira | Especifica hasta cuándo el contenido debe considerarse desactualizado y no debe almacenarse en caché |
Última modificación | Indica cuándo se modificó por última vez el documento. |
Localización | Debe incluirse con todas las respuestas que tienen un código de estado con 300 como código de estado |
Actualizar | Especifica cómo encontrar la página actualizada. |
Reintentar después | Se puede usar con la respuesta 503 para decirle al cliente qué tan pronto puede repetir la solicitud |
Establecer-cookie | Especifica la cookie asociada a la página. |
Los siguientes son los métodos que utilizan el objeto de respuesta:
- String encodeRedirectURL (String URL): codifica la URL en el método redirectURL.
- String encodeURL (String URL): codifica la URL al incluir el ID de sesión.
- Boolean containsHeader (nombre de cadena): contiene un encabezado en el JSP o no.
- Boolean isCommited (): la respuesta se ha confirmado o no.
- Void addCookie (cookie cookie): agrega cookie a la respuesta
- Void addDateHeader (nombre de la cadena, valor de la cadena): agrega el nombre y el valor de la fecha del encabezado de respuesta
- Void addHeader (nombre de cadena, valor de cadena): agrega encabezado de respuesta con nombre y valor
- Void addIntHeader (String name, int value): agrega un encabezado de respuesta con nombre y valor entero
- Void flushBuffer (): fuerza el contenido del búfer a la salida del cliente.
- Restablecimiento anulado (): borra los datos del búfer.
- Void resetBuffer: borra el búfer de contenido en la respuesta sin borrar los códigos de estado.
- Void sendError (intsc, Stringmsg): envía una respuesta de error al cliente mediante el código de estado.
- Void sendRedirect (ubicación de la cadena): envía una respuesta de redireccionamiento temporal al cliente.
- Void setBufferSize (int size): establece el tamaño del búfer del cuerpo
- Void setCharacterEncoding (String charset): establece la codificación de caracteres
- Void setContentType (tipo de cadena): establece el tipo de contenido de la respuesta
- Void setContentLength (intlen): establece la longitud del contenido de la respuesta
- Void setLocale (Locale lcl): establece el tipo de configuración regional de la respuesta
- Void setStatus (intsc): establece el código de estado de la respuesta
Ejemplo:
En este ejemplo, cubrimos diferentes métodos getLocale, flushbuffer, getWriter, get ContentType, setIntHeader.
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1" pageEncoding = "ISO-8859-1"%><% @ page import = "java.io. * java.util. *"%> Respuesta de acción de Guru
Respuesta de Guru
<%Locale lcl = response.getLocale ();out.println ("La configuración regional es: + lcl + "\ n");respuesta.flushBuffer ();Salida de PrintWriter = response.getWriter ();output.println ("Esto es del objeto escritor");Tipo de cadena = response.getContentType ();out.println ("El tipo de contenido: + tipo + "\ n");// Establecer actualización, tiempo de carga automática en 5 segundosresponse.setIntHeader ("Actualizar", 5);// Obtener la hora actualFecha dt = nueva fecha ();out.println ("La fecha de hoy es: + dt.toString () + "\ n");%>