Get POST Request Body from HttpServletRequest



When handling HTTP POST requests in Java using Servlets, you may need to extract the request body from the HttpServletRequest object. This is useful when dealing with raw JSON data, form submissions, or XML payloads.

Extracting Request Body from HttpServletRequest

The HttpServletRequest object provides an InputStream from which you can read the request body. You can use getReader() or getInputStream(), depending on your needs.

Using BufferedReader (getReader)

The getReader() method returns a BufferedReader that allows you to read the request body as text.

import java.io.BufferedReader;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/postHandler")
public class PostRequestHandler extends HttpServlet {
   @Override
   protected void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
      StringBuilder requestBody = new StringBuilder();
      String line;
      try (BufferedReader reader = request.getReader()) {
         while ((line = reader.readLine()) != null) {
            requestBody.append(line).append("\n");
         }
      }

      // Printing request body (for demonstration)
      System.out.println("Received POST body: " + requestBody.toString());

      response.setContentType("text/plain");
      response.getWriter().write("Received successfully");
   }
}
Updated on: 2025-03-17T14:27:42+05:30

136 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements