Обработка параметров
При GET -запросе в строке адреса после знака "?" могут передаваться параметры,
например, http://home/work?param1=value1¶m2=value2 .
Значение определенного параметра можно получить с помощью метода
getParameter класса HttpServletRequest .
Пример: чтение параметра
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class GetParam extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>\n<head><title>Чтение параметра</title></head>\n<body>\n" +
"<b>" + request.getParameter("param") + "</b>\n" +
"</body>\n</html>");
}
}
Посмотреть пример
Метод getParameterNames возвращает список имен всех параметров
типа Enumeration . Используем его методы hasMoreElements и nextElement для
перебора всех параметров. Метод getParameterValues возвращает все
значения заданного параметра.
При POST -запросе вызывается метод doPost , а все
остальное работает точно так же, как и при GET -запросе.
Пример: чтение всех параметров
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class GetAllParams extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>\n<head><title>Чтение всех параметров</title></head>\n<body>\n" +
"<table border=1 align=\"center\">\n" +
"<tr bgcolor=\"dfdfdf\">" +
"<th>Имя параметра<th>Значения параметра");
Enumeration parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()) {
String paramName = (String)parameterNames.nextElement();
out.println("<tr><td>" + paramName + "<td>");
String[] paramValues = request.getParameterValues(paramName);
if (paramValues.length == 1) {
if (paramValues[0].length() == 0)
out.print("<I>Значение не задано</I>");
else
out.print(paramValues[0]);
} else {
out.println("<ul>");
for(int i = 0; i < paramValues.length; i++) {
out.println("<li>" + paramValues[i]);
}
out.println("</ul>");
}
}
out.println("</table>\n</body>\n</html>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
Посмотреть пример
|