Red de conocimiento del abogados - Ley de patentes - La diferencia entre setattribute y setParameter en JSP

La diferencia entre setattribute y setParameter en JSP

La clase HttpServletRequest tiene el método getAttribute() y el método getParameter(). Los dos métodos tienen las siguientes diferencias:

(1) La clase HttpServletRequest tiene el método setAttribute(). método, y no existe un método setParameter()

(2) Cuando existe una relación de enlace entre dos componentes web, el componente vinculado obtiene los parámetros de solicitud a través del método getParameter(), por ejemplo, supongamos bienvenido .jsp y authenticate.jsp Existe una relación de vínculo entre ellos y existe el siguiente código en bienvenido.jsp:

lt; a href="authenticate.jsp?username=weiqin"gt; jsp lt;/agt;

O:

lt; formulario nombre="form1" método="post" action="authenticate.jsp"gt; >Ingrese el nombre de usuario: lt; input type= "text" name="username"gt;

lt input type="submit" name="Submit" value="Submit"gt;

lt;/formgt;

En authenticate.jsp, obtenga el parámetro de solicitud nombre de usuario a través del método request.getParameter("username"):

lt; nombre de usuario=request.getParameter("nombre de usuario"); gt;

(3) Cuando existe una relación de reenvío entre dos componentes web, el componente de destino de reenvío utiliza el método getAttribute() para compartir los datos dentro del mismo. rango de solicitud con el componente de origen de reenvío. 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:

lt;

String user=request.getParameter("username"); ("nombre de usuario", nombre de usuario);

gt;

lt; jsp: página de avance="hola.jsp" /gt; Obtenga el nombre de usuario mediante el método getAttribute():

lt; String nombre de usuario=(String)request.getAttribute("nombre de usuario"); gt ;

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 los datos pasados ​​a través de métodos como post, get, etc. request.setAttribute() y getAttribute() solo circulan dentro de la web. contenedor, solo 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 un objeto que existe dentro del rango de solicitud y el método getParameter () solicita los datos enviados por http.