Heim >Java >javaLernprogramm >Wie rufe ich die POST-Request-Payload in einem Java-Servlet ab?

Wie rufe ich die POST-Request-Payload in einem Java-Servlet ab?

Barbara Streisand
Barbara StreisandOriginal
2024-11-05 09:17:02635Durchsuche

How Do I Retrieve POST Request Payload in a Java Servlet?

Abrufen der POST-Anfrage-Nutzlast in einem Java-Servlet

In Java-Servlets kann das Abrufen des Inhalts der POST-Anfrage-Nutzlast manchmal eine Herausforderung darstellen Entwickler. Ein häufiges Problem besteht darin, dass versucht wird, auf die Daten im Abschnitt „Nutzlast anfordern“ der Registerkarte „Header“ in den Chrome-Entwicklertools zuzugreifen, aber leere Ergebnisse angezeigt werden.

Lösung: Verwendung von getReader() oder getInputStream()

Um erfolgreich auf die Nutzlastdaten der Anfrage zuzugreifen, verwenden Sie die folgenden Methoden:

  • getReader(): Diese Methode stellt ein BufferedReader-Objekt bereit, mit dem Sie die Anfrage lesen können Körper. Dies ist für textbasierte Daten geeignet.
  • getInputStream(): Verwenden Sie diese Methode, wenn Sie Binärdaten verarbeiten müssen. Es gibt ein ServletInputStream-Objekt zurück.

Beispielcode:

<code class="java">public class TestFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // Retrieve the request payload data
        BufferedReader reader = request.getReader();
        String payload = reader.readLine();

        // Process the payload data
        // ...

        // Pass control to the next filter or servlet
        chain.doFilter(request, response);
    }
}</code>

Wichtiger Hinweis:

Gemäß In der Java-Servlet-API-Dokumentation können Sie nur eine dieser beiden Methoden zum Lesen des Hauptteils verwenden, nicht beide. Wählen Sie daher die Methode aus, die am besten zu dem Datentyp passt, den Sie in der Anforderungsnutzlast erwarten.

Das obige ist der detaillierte Inhalt vonWie rufe ich die POST-Request-Payload in einem Java-Servlet ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn