Доступ к почтовым переменным с помощью Java-сервлетов

StackOverflow https://stackoverflow.com/questions/5222

  •  08-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

Map params = servReq.getParameterMap();

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

String userId=servReq.getParameter("user_id");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top