Servlet get GET and POST's parameters at the doPost method
My problem is when I'm trying to access a POST Variable with request.getParameter("name") , it works perfectly. But in some conditions, when a POST request arrives at my application, I also need to get GET Parameter from the Query String.
As far as I can see, with getParameter , you can only access current request's parameters, but, as in my condition, as I said, I also need to fetch GET Parameters inside doPost method.
Is there a way to fetch GET Parameters without parsing the Query String?
The getParameter() method can return (if possible) both GET and POST parameters as it works transparently between GET and POST . You don't need to do any explicit work to get the GET parameters. you can use getParameter for both query parameters and POST parameters.
But should you do it? - It's considered a poor design practice especially if there is sensitive information to be sent.
Take a look at this answer:
If you have parameters with the same name in the query string and in the posted form data, use getParameterValues() .
Example:-
String fromQuery = request.getParameterValues("name")[0];
String fromForm = request.getParameterValues("name")[1];
I think you have a confusion here. You can retieve all the request parameters (in both GET or POST or others) using the same getParameter(..) depending upon the type of request. If it's a GET request, you can retrieve all the GET parameters. If it's a POST request, you can retrieve all the POST parameters. You get parameters using getParameter(...) . And you make one request at a time. If you make a POST request in html or JSP file, you use doPost method receive all the parameters. At this point, there is nothing in GET request. Then after that, you make a GET request, you retrieve all the parameters in doGet method. At this moment, There is nothing in POST. Remember, HTTP requests are stateless.
