ホームページ  >  記事  >  Java  >  Java サーブレットで POST リクエスト ペイロードを取得するにはどうすればよいですか?

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

Barbara Streisand
Barbara Streisandオリジナル
2024-11-05 09:17:02589ブラウズ

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

Java サーブレットでの POST リクエスト ペイロードの取得

Java サーブレットでは、POST リクエスト ペイロードのコンテンツを取得することが困難になる場合があります。開発者。一般的な問題は、Chrome デベロッパー ツールのヘッダー タブのリクエスト ペイロード セクションのデータにアクセスしようとすると、空の結果が表示されることです。

解決策: getReader() または getInputStream() を使用する

リクエストのペイロード データに正常にアクセスするには、次のメソッドを利用します。

  • getReader(): このメソッドは BufferedReader オブジェクトを提供し、リクエストを読み取ることができます。体。これはテキストベースのデータに適しています。
  • getInputStream(): バイナリ データを処理する必要がある場合は、このメソッドを使用します。 ServletInputStream オブジェクトを返します。

コード例:

<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>

重要な注意事項:

によるとJava Servlet API のドキュメントを参照してください。本文を読み取るには、これら 2 つのメソッドのいずれか 1 つだけを使用できます。両方を使用することはできません。したがって、リクエスト ペイロードで予期されるデータ型に最も適したメソッドを選択してください。

以上がJava サーブレットで POST リクエスト ペイロードを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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