Zugriff auf POST-Request-Payload in Java-Servlets
Beim Empfang von POST-Requests in Java-Servlets kommt es häufig zu Problemen beim Zugriff auf den Inhalt der Request-Payload. Der folgende Leitfaden befasst sich mit dieser Herausforderung, indem er die verschiedenen verfügbaren Methoden untersucht.
Abrufen von Nutzlastdaten
Um auf die Anforderungsnutzlast in der doPost-Methode zuzugreifen, sollten Sie die folgenden Techniken in Betracht ziehen:
<code class="java">BufferedReader br = request.getReader(); String payload = br.readLine();</code>
getReader() gibt einen BufferedReader zurück, der es Ihnen ermöglicht, den Anforderungstext zu lesen.
<code class="java">InputStream is = request.getInputStream(); byte[] payloadBytes = is.readAllBytes();</code>
getInputStream() gibt einen ServletInputStream zurück, der Zugriff auf Binärdaten bietet.
Beispielimplementierung
Der folgende Codeausschnitt zeigt, wie die Anforderungsnutzlast mit getReader() abgerufen wird:
<code class="java">@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { BufferedReader br = request.getReader(); String payload = br.readLine(); // Process the payload data... }</code>
Hinweis:
Es ist wichtig zu beachten, dass die Verwendung von getReader() und getInputStream() zum Lesen des Anforderungstexts nicht empfohlen wird. Sobald eine der Methoden verwendet wurde, sollte die andere Methode nicht aufgerufen werden.
Das obige ist der detaillierte Inhalt vonWie greife ich in Java-Servlets auf POST-Request-Payload zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!