Saltar al contenido

Diferencia entre getAttribute() y getParameter()

Posterior a investigar con expertos en el tema, programadores de varias ramas y profesores dimos con la solución al dilema y la plasmamos en esta publicación.

Solución:

  • getParameter() devuelve los parámetros de solicitud http. Los que pasan del cliente al servidor. Por ejemplo http://example.com/servlet?parameter=1. solo puedo regresar String

  • getAttribute() es solo para uso del lado del servidor: completa la solicitud con attributes que puede utilizar dentro de la misma solicitud. Por ejemplo, establece un attribute en un servlet y leerlo desde un JSP. Se puede utilizar para cualquier objeto, no solo string.

En general, un parámetro es un string valor que se conoce más comúnmente por ser enviado desde el cliente al servidor (por ejemplo, una publicación de formulario) y recuperado de la solicitud del servlet. La excepción frustrante a esto son los parámetros iniciales de ServletContext que son string parámetros que están configurados en web.xml y existen en el servidor.

Un attribute es una variable de servidor que existe dentro de un ámbito específico, es decir:

  • applicationdisponible durante toda la vida de la aplicación
  • sessiondisponible durante la duración de la sesión
  • requestsolo disponible durante la vigencia de la solicitud
  • page (solo JSP), disponible solo para la página JSP actual

solicitud.getParameter()

Usamos request.getParameter() para extraer los parámetros de la solicitud (es decir, los datos enviados mediante la publicación de un formulario html). Él request.getParameter() siempre regresa String valor y los datos provienen del cliente.

solicitud.getAttribute()

Usamos request.getAttribute() para obtener un objeto agregado al alcance de la solicitud en el lado del servidor, es decir, usando request.setAttribute(). Puede agregar cualquier tipo de objeto que desee aquí, Strings, Objetos personalizados, de hecho cualquier objeto. agregas el attribute a la solicitud y reenviar la solicitud a otro recurso, el cliente no sabe nada de esto. Entonces, todo el código que maneja esto normalmente estaría en JSP/servlets. Puedes usar request.setAttribute() para agregar información adicional y reenviar/redireccionar la solicitud actual a otro recurso.

Por ejemplo, considere first.jsp,

//First Page : first.jsp
<%@ page import="java.util.*" import="java.io.*"%>
<% request.setAttribute("PAGE", "first.jsp");%>

y segundo.jsp:

<%@ page import="java.util.*" import="java.io.*"%>
From Which Page : <%=request.getAttribute("PAGE")%>
Data From Client : <%=request.getParameter("CLIENT")%>

Desde su navegador, ejecute primero.jsp?CLIENTE=tú y la salida en su navegador es

From Which Page : *first.jsp*
Data From Client : you

La diferencia básica entre getAttribute() y getParameter() es que el primer método extrae un objeto Java (serializado) y el otro proporciona un valor de cadena. Para ambos casos se da un nombre para que su valor (ya sea string o un bean Java) se pueden buscar y extraer.

Aquí tienes las reseñas y calificaciones

Si tienes algún titubeo o disposición de progresar nuestro reseña eres capaz de ejecutar un informe y con deseo lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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