Reprint: http://blog.csdn.net/yaerfeng/article/details/18942739
The GET request in the servlet can be obtained through the HttpServletRequest Getrequesturl method and GetQueryString () to obtain the complete request path and request all parameter list, post need Getparametermap () method traversal, whether get or post can be getrequesturl+getparametermap () to get the request full path
[Java]View Plaincopyprint?
- Package Com.zuidaima
- Import java.io.IOException;
- Import Java.io.PrintWriter;
- Import Java.util.Map;
- Import javax.servlet.ServletException;
- Import Javax.servlet.http.HttpServlet;
- Import Javax.servlet.http.HttpServletRequest;
- Import Javax.servlet.http.HttpServletResponse;
- Public class Getparams extends HttpServlet {
- private Static final long serialversionuid = 1L;
- Public Getparams () {
- super ();
- }
- protected void doget (HttpServletRequest request,
- HttpServletResponse response) throws Servletexception, IOException {
- PrintWriter writer = Response.getwriter ();
- Writer.println ("GET" + request.getrequesturl () + ""
- + request.getquerystring ());
- map<string, string[]> params = Request.getparametermap ();
- String queryString = "";
- For (String Key:params.keySet ()) {
- String[] values = Params.get (key);
- For (int i = 0; i < values.length; i++) {
- String value = Values[i];
- QueryString + = key + " =" + Value + "&";
- }
- }
- //Remove the last space
- queryString = querystring.substring (0, Querystring.length ()- 1);
- Writer.println ("GET" + request.getrequesturl () + "" + queryString);
- }
- protected void DoPost (HttpServletRequest request,
- HttpServletResponse response) throws Servletexception, IOException {
- PrintWriter writer = Response.getwriter ();
- map<string, string[]> params = Request.getparametermap ();
- String queryString = "";
- For (String Key:params.keySet ()) {
- String[] values = Params.get (key);
- For (int i = 0; i < values.length; i++) {
- String value = Values[i];
- QueryString + = key + " =" + Value + "&";
- }
- }
- //Remove the last space
- queryString = querystring.substring (0, Querystring.length ()- 1);
- Writer.println ("POST" + request.getrequesturl () + "" + queryString);
- }
- }
The put request gets no parameters because the put request parameter is not stored in the HTTP Header, but in the HTTP Body, so the parameter cannot be obtained through the Request.getparameter () method.
If you want to get the parameters of a PUT request, you can refer to this code as follows:
?
| 123456 |
String queryString = "";BufferedReader reader = newBufferedReader(new InputStreamReader(request.getInputStream()));String line;while((line = reader.readLine()) != null) { queryString += line;} |
Get the queryString, it is a "a=1&b=2" format string, then can be easily converted into a Map, and finally through the Map.get () method to get the specified parameters.
How Java obtains the Get and POST request URLs and parameter lists