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 ejemplohttp://example.com/servlet?parameter=1
. solo puedo regresarString
-
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:
application
disponible durante toda la vida de la aplicaciónsession
disponible durante la duración de la sesiónrequest
solo disponible durante la vigencia de la solicitudpage
(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.