Frage

Was ist das Java-Äquivalent von PHP? $_POST?Nachdem ich eine Stunde lang im Internet gesucht habe, bin ich immer noch nicht näher dran.

War es hilfreich?

Lösung

Dein HttpServletRequest Objekt hat eine getParameter(String paramName) Methode, die zum Abrufen von Parameterwerten verwendet werden kann. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

Andere Tipps

Hier ist ein einfaches Beispiel.Der HTML-Code oder das Servlet gefielen mir nicht, aber Sie sollten auf die Idee kommen.

Ich hoffe, das hilft dir weiter.

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

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

POST-Variablen sollten über das Request-Objekt zugänglich sein: HttpRequest.getParameterMap().Die Ausnahme besteht, wenn das Formular mehrteilige MIME-Daten sendet (das FORM hat enctype="multipart/form-data").In diesem Fall müssen Sie den Bytestream mit einem MIME-Parser analysieren.Sie können Ihr eigenes schreiben oder ein vorhandenes wie Apache verwenden Commons-Datei-Upload API.

Die vorherigen Antworten sind korrekt, aber denken Sie daran, das Namensattribut in den Eingabefeldern (HTML-Formular) zu verwenden, sonst erhalten Sie nichts.Beispiel:

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

Der gesamte Code ist HTML-gültig, aber bei Verwendung von getParameter(java.lang.String) muss das Namensattribut in allen Parametern festgelegt werden, die Sie empfangen möchten.

Zum Abrufen aller Post-Parameter gibt es Map, das den Namen des Anforderungsparameters als Schlüssel und den Parameterwert als Schlüssel enthält.

Map params = servReq.getParameterMap();

Und um Parameter mit bekanntem Namen normal zu bekommen

String userId=servReq.getParameter("user_id");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top