Zugriff auf POST-Variablen mit Hilfe von Java Servlets

stimmen
46

Was ist der Java - Äquivalent von PHP $_POST? Nach der Suche im Internet nach einer Stunde bin ich noch nirgends näher.

Veröffentlicht am 07/08/2008 um 20:39
quelle vom benutzer
In anderen Sprachen...                            


5 antworten

stimmen
48

Hier ist ein einfaches Beispiel. Ich habe keine Lust mit dem HTML oder dem Servlet, aber man sollte die Idee.

Ich hoffe, das hilft dir.

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

Jetzt für das Servlets

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");
    ....
    ....
  }
}
Beantwortet am 14/08/2008 um 14:52
quelle vom benutzer

stimmen
45

Ihr HttpServletRequestObjekt verfügt über eine getParameter(String paramName)Methode , die verwendet werden können Parameterwerte zu erhalten. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

Beantwortet am 07/08/2008 um 20:43
quelle vom benutzer

stimmen
21

POST - Variablen sollten über das Request - Objekt zugänglich sein: HttpRequest.getParameterMap () . Die Ausnahme ist , wenn das Formular mehrteiligen MIME - Daten zu senden ist (die Form hat enctype = "multipart / form-data" ). In diesem Fall müssen Sie den Byte - Stream mit einem MIME - Parser analysieren. Sie können Ihre eigene oder verwenden Sie eine bestehende wie der Apache schreiben Commons Datei - Upload - API.

Beantwortet am 07/08/2008 um 20:47
quelle vom benutzer

stimmen
1

Für immer alle Post-Parameter ist Karte, die Anfrage param name als Schlüssel und param Wert als Schlüssel enthält.

Map params = servReq.getParameterMap();

Und um Parameter mit bekannten Namen normalen

String userId=servReq.getParameter("user_id");
Beantwortet am 19/04/2018 um 13:12
quelle vom benutzer

stimmen
1

Die bisherigen Antworten sind richtig, aber an den Namen erinnern Attribut in den Eingabefeldern (HTML-Formular) oder Sie werden nichts bekommen zu verwenden. 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 -->

All dieser Code ist HTML gültig, aber mit getParameter (java.lang.String) müssen Sie das Namensattribut in allen Parametern festgelegt wurde Sie empfangen möchten.

Beantwortet am 24/11/2016 um 11:12
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more