Класс HttpServletRequest имеет как метод getAttribute(), так и метод getParameter(). Эти два метода имеют следующие различия:
1. Класс HttpServletRequest имеет метод setAttribute(), но не имеет метода setParameter();
2. Когда между двумя веб-компонентами существует связь связи, связанный компонент получает параметры запроса через метод getParameter();
Например, если предположить, что между файлами Welcome.jsp и Authenticate.jsp существует связь, в файле Welcome.jsp будет следующий код:
Скопируйте код кода следующим образом:
<a href="authenticate.jsp?username=qianyunlai.com">authenticate.jsp </a>
//или:
<form name="form1" Method="post" action="authenticate.jsp">
Введите имя пользователя: <input type="text" name="username">
<input type="submit" name="Submit" value="Submit">
</форма>
Получите имя пользователя параметра запроса с помощью метода request.getParameter("username") в аутентификации.jsp:
<% String username=request.getParameter("имя пользователя" %>
3. Когда между двумя веб-компонентами существует связь пересылки, целевой компонент пересылки делится данными в пределах диапазона запроса с исходным компонентом пересылки через метод getAttribute().
Предполагается, что между Authenticate.jsp и hello.jsp существует связь пересылки. Authenticate.jsp надеется передать текущее имя пользователя в hello.jsp. Как передать эти данные? Сначала вызовите метод setAttribute() в Authenticate.jsp:
Скопируйте код кода следующим образом:
<%
String username=request.getParameter("имя пользователя");
request.setAttribute("имя пользователя",имя пользователя);
%>
<jsp:forward page="hello.jsp" />
Получите имя пользователя с помощью метода getAttribute() в hello.jsp:
Скопируйте код кода следующим образом:
<% String username=(String)request.getAttribute("имя пользователя" %>
Здравствуйте: <%=имя пользователя %>
4. request.getAttribute возвращает объект, а request.getParameter возвращает строку.