Question

Quel est l'équivalent Java de PHP $_POST?Après une heure de recherche sur le Web, je n'en suis toujours pas plus proche.

Était-ce utile?

La solution

Ton HttpServletRequest l'objet a un getParameter(String paramName) méthode qui peut être utilisée pour obtenir les valeurs des paramètres. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

Autres conseils

Voici un exemple simple.Je n'ai pas aimé le HTML ou le servlet, mais vous devriez avoir l'idée.

J'espère que cela vous aidera.

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

Maintenant pour le Servlet

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");
    ....
    ....
  }
}

Les variables POST doivent être accessibles via l'objet de requête : HttpRequest.getParameterMap().L'exception est si le formulaire envoie des données MIME en plusieurs parties (le FORM a enctype="multipart/form-data").Dans ce cas, vous devez analyser le flux d'octets avec un analyseur MIME.Vous pouvez écrire le vôtre ou en utiliser un existant comme Apache Téléchargement de fichiers communs API.

Les réponses précédentes sont correctes mais pensez à utiliser l'attribut name dans les champs de saisie (formulaire html) sinon vous n'obtiendrez rien.Exemple:

<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 -->

Tout ce code est valide en HTML, mais en utilisant getParameter(java.lang.String), vous aurez besoin que l'attribut name soit défini dans tous les paramètres que vous souhaitez recevoir.

Pour obtenir tous les paramètres de publication, il existe Map qui contient le nom du paramètre de demande comme clé et la valeur du paramètre comme clé.

Map params = servReq.getParameterMap();

Et pour obtenir des paramètres avec un nom connu, c'est normal

String userId=servReq.getParameter("user_id");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top