dan dan - 7 months ago 32
Java Question

Retrieve POST parameters only (Java)

Does anyone know of a way to get only POST parameters from an HttpServletRequest object?

IE, PHP has the $_POST superglobal and Perl's CGI.pm will only retrieve POST parameters if the HTTP method is POST (by default).

HttpServletRequest.getParameter(String) will include the GET URL parameters even if the HTTP method is POST.


I guess one way might be to manually parse HttpServletRequest.getQueryString() and check that a parameter is not present in it.

A naive implementation (ignoring url-escaped key values) would go something like this (untested) :

public boolean isInQuery(HttpServletRequest request, String key) {
  String query = request.getQueryString();
  String[] nameValuePairs = query.split("&");
  for(String nameValuePair: nameValuePairs) {
    if(nameValuePair.startsWith(key + "=")) {
      return true;
  return false;