Java サーブレットでの POST リクエスト ペイロードの取得
Java サーブレットで POST リクエストを受信する場合、リクエスト ペイロードのコンテンツにアクセスするのは困難な場合があります。このデータを効果的に取得する方法を詳しく見てみましょう。
HttpServletRequest オブジェクトは、リクエスト ペイロードを取得するメソッドを提供します。特に、getReader() と getInputStream() は考慮すべき 2 つのオプションです。
注: ペイロードを読み取るには、これらのメソッドのいずれか 1 つだけを使用できます。両方を使用することはできません。
たとえば、次の doPost メソッドは getReader() を使用してペイロードを取得します:
<code class="java">protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { BufferedReader reader = request.getReader(); String payload = reader.readLine(); // Process the payload as needed }</code>
または、getInputStream() を使用してペイロードをバイナリ ストリームとして処理できます:
<code class="java">protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletInputStream inputStream = request.getInputStream(); byte[] buffer = new byte[4096]; int length; while ((length = inputStream.read(buffer)) != -1) { // Process the payload as needed } }</code>
Byこれらのメソッドを活用すると、Java サーブレットのペイロード データに効果的にアクセスして処理できます。
以上がJava サーブレットで POST リクエスト ペイロードを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。