Подтвердить что ты не робот

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

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

4b9b3361

Ответ 2

Вот простой пример. Мне не нравилось 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");
    ....
    ....
  }
}

Ответ 3

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

Ответ 4

Предыдущие ответы верны, но не забудьте использовать атрибут 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) вам понадобится атрибут name, указанный во всех параметрах, которые вы хотите получить.