ホームページ >Java >&#&チュートリアル >Java サーブレットの POST リクエスト ペイロードにアクセスするにはどうすればよいですか?

Java サーブレットの POST リクエスト ペイロードにアクセスするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-04 19:03:021005ブラウズ

How Do I Access POST Request Payload in Java Servlets?

Java サーブレットでの POST リクエスト ペイロードへのアクセス

Java サーブレットで POST リクエストを受信する場合、リクエスト ペイロードのコンテンツへのアクセスで問題が発生することがよくあります。次のガイドでは、利用可能なさまざまなメソッドを検討することで、この課題に対処します。

ペイロード データの取得

doPost メソッドでリクエスト ペイロードにアクセスするには、次の手法を検討してください。

  • を使用するgetReader():
<code class="java">BufferedReader br = request.getReader();
String payload = br.readLine();</code>

getReader() は、リクエスト本文を読み取ることができる BufferedReader を返します。

  • getInputStream():
<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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。