La diferencia entre los métodos setAttribute y setParameter
Este artículo presenta la diferencia entre los métodos setAttribute y setParameter:
getAttribute significa obtener el atributo establecido del alcance de la solicitud. Primero debes configurar el atributo con setAttribute antes de poder obtenerlo. a través de getAttribute. Configurar y obtener Es el tipo de objeto Object
getParameter significa recibir parámetros. Los parámetros son parámetros enviados por la página, incluidos: parámetros enviados por el formulario, parámetros pasados por reescritura de URL (es decir, el id en xxx?id=1), etc., por lo que no existe ningún método para establecer parámetros (no setParameter), y lo que se devuelve cuando se reciben parámetros no es Objeto, sino tipo Cadena
La clase HttpServletRequest tiene tanto el método getAttribute() como el método getParameter(). Estos dos métodos tienen las siguientes diferencias:
(1) La clase HttpServletRequest tiene un método setAttribute() pero ningún método setParameter()
(2) Cuando existe una relación de vínculo entre dos componentes web, el componente vinculado obtiene los parámetros de solicitud a través del método getParameter(). Por ejemplo, suponiendo que existe una relación de vínculo entre bienvenido.jsp y autenticar. jsp, hay el siguiente código en bienvenido.jsp:
O:
Obtener el nombre de usuario del parámetro de solicitud a través del método request.getParameter("nombre de usuario") en authenticate.jsp:
<% String nombre de usuario=request.getParameter("nombre de usuario"); existe una relación de reenvío entre dos componentes web, el componente de destino de reenvío se comunica con el componente de origen de reenvío a través del método getAttribute()* **Compartir datos dentro del rango de solicitud. Se supone que existe una relación de reenvío entre authenticate.jsp y hello.jsp.
authenticate.jsp espera pasar el nombre de usuario actual a hello.jsp. ¿Cómo pasar estos datos? Primero llame al método setAttribute() en authenticate.jsp:
<%
Stringusername=request.getParameter("username");
request.setAttribute ("nombre de usuario", nombre de usuario);
%>
Pasado en hello.jsp El El método getAttribute() obtiene el nombre de usuario:
<% String nombre de usuario=(String)request.getAttribute("nombre de usuario");
Considerándolo desde un nivel más profundo, los datos pasados por el método request.getParameter() se transmitirán desde el cliente web al servidor web, lo que representa los datos de la solicitud HTTP. El método request.getParameter() devuelve datos de tipo String.
Los datos pasados por los métodos request.setAttribute() y getAttribute() solo existirán dentro del contenedor web y se compartirán entre componentes web con una relación de reenvío. Estos dos métodos pueden configurar los datos compartidos del tipo Objeto.
request.getParameter() se obtiene mediante la implementación del contenedor para obtener datos pasados a través de métodos como post, get, etc. request.setAttribute() y getAttribute() solo circulan dentro del contenedor web. , solo que es la etapa de procesamiento de solicitudes, y esta es de hecho la respuesta correcta.
getAttribute devuelve un objeto y getParameter devuelve una cadena
El método request.getAttribute() devuelve una objeto que existe dentro del rango de solicitud y solicitud. El método getParameter () es para obtener los datos enviados por http.