Что такое Java-эквивалент PHP $_POST
? После поиска в Интернете в течение часа я все еще не ближе.
Доступ к пост-переменным с использованием сервлетов Java
Ответ 1
Объект HttpServletRequest
имеет метод getParameter(String paramName)
, который можно использовать для получения значений параметров. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)
Ответ 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, указанный во всех параметрах, которые вы хотите получить.