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 un método setAttribute() pero ningún 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, suponiendo que existe una relación de vínculo entre bienvenido.jsp y authenticate.jsp, existe el siguiente código en bienvenido.jsp:
Copie el código de código de la siguiente manera:
<a href="authenticate.jsp?username=qianyunlai.com">authenticate.jsp </a>
//o:
<nombre del formulario="formulario1" método="publicar" acción="authenticate.jsp">
Por favor ingrese el nombre de usuario:<input type="text" name="username">
<tipo de entrada="enviar" nombre="Enviar" valor="Enviar">
</formulario>
Obtenga el nombre de usuario del parámetro de solicitud a través del método request.getParameter("username") en authenticate.jsp:
<% String nombre de usuario=request.getParameter("nombre de usuario");
3. Cuando existe una relación de reenvío entre dos componentes web, el componente de destino de reenvío comparte los datos dentro del rango de solicitud con el componente de origen de reenvío a través del método getAttribute().
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:
Copie el código de código de la siguiente manera:
<%
String nombre de usuario=request.getParameter("nombre de usuario");
request.setAttribute("nombre de usuario",nombre de usuario);
%>
<jsp:página de avance="hola.jsp" />
Obtenga el nombre de usuario mediante el método getAttribute() en hello.jsp:
Copie el código de código de la siguiente manera:
<% String nombre de usuario=(String)request.getAttribute("nombre de usuario");
Hola: <%=nombre de usuario %>
4. request.getAttribute devuelve un objeto y request.getParameter devuelve una cadena.