Java サーブレットでの POST リクエスト ペイロードへのアクセス
Java サーブレットで POST リクエストを受信する場合、リクエスト ペイロードのコンテンツへのアクセスで問題が発生することがよくあります。次のガイドでは、利用可能なさまざまなメソッドを検討することで、この課題に対処します。
ペイロード データの取得
doPost メソッドでリクエスト ペイロードにアクセスするには、次の手法を検討してください。
<code class="java">BufferedReader br = request.getReader(); String payload = br.readLine();</code>
getReader() は、リクエスト本文を読み取ることができる BufferedReader を返します。
<code class="java">InputStream is = request.getInputStream(); byte[] payloadBytes = is.readAllBytes();</code>
getInputStream() は、バイナリ データへのアクセスを提供する ServletInputStream を返します。
実装例
次のコード スニペットは、次のコードを使用してリクエスト ペイロードを取得する方法を示しています。 getReader():
<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>
注:
getReader() と getInputStream() の両方を使用してリクエスト本文を読み取ることは推奨されないことに注意することが重要です。いずれかのメソッドを使用した後は、もう一方のメソッドを呼び出さないでください。
以上がJava サーブレットの POST リクエスト ペイロードにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。