Доступ к переменным записей с помощью Java-сервлетов

Что такое Java-эквивалент PHP $_POST? После поиска в Интернете в течение часа, я все еще нигде не ближе.

7.08.2008 19:39:31
5 ОТВЕТОВ
РЕШЕНИЕ

У вашего HttpServletRequestобъекта есть getParameter(String paramName)метод, который можно использовать для получения значений параметров. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

49
21.06.2011 17:54:52

Переменные POST должны быть доступны через объект запроса: HttpRequest.getParameterMap () . Исключение составляют случаи, когда форма отправляет многочастные данные MIME (FORM имеет enctype = "multipart / form-data" ). В этом случае вам необходимо проанализировать поток байтов с помощью MIME-анализатора. Вы можете написать свой собственный или использовать существующий, например API загрузки файлов Apache Commons .

23
7.08.2008 19:47:30
Примечание: этот ответ предшествует выпуску Servlet 3.0 и стандартной поддержке multipate/form-data. См. Java EE 6 API и / или этот пост в блоге
McDowell 9.03.2012 09:05:49

Вот простой пример. Мне не понравился HTML или сервлет, но вы должны понять.

Я надеюсь, что это помогает вам.

<html>
<body>
<form method="post" action="/myServlet">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" />
</form>
</body>
</html>

Теперь для сервлета

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class MyServlet extends HttpServlet {
  public void doPost(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {

    String userName = request.getParameter("username");
    String password = request.getParameter("password");
    ....
    ....
  }
}
55
17.09.2008 13:47:45
Можете ли вы сказать мне, как получить значение запроса POST на странице сервлета? Я использую вызов $ .ajax не действия формы и XMLHttpRequest?
selladurai 20.05.2011 09:23:37
selladurai 20.05.2011 09:30:16

Предыдущие ответы верны, но не забудьте использовать атрибут name в полях ввода (html-форма), иначе вы ничего не получите. Пример:

<input type="text" id="username" /> <!-- won't work --> <input type="text" name="username" /> <!-- will work --> <input type="text" name="username" id="username" /> <!-- will work too -->

Весь этот код действителен в формате HTML, но при использовании getParameter (java.lang.String) вам потребуется установить атрибут имени во всех параметрах, которые вы хотите получить.

3
24.11.2016 11:12:07

Для получения всех параметров записи есть Map, которая содержит имя параметра запроса в качестве ключа и значение параметра в качестве ключа.

Map params = servReq.getParameterMap();

И получить параметры с известным именем нормальные

String userId=servReq.getParameter("user_id");
1
19.04.2018 13:12:43