您的位置:首页 > 编程语言 > Java开发

java如何得到GET和POST请求URL和参数列表

2016-04-03 16:44 537 查看
刚开始以为request.getQueryString()也能得到post body里面的参数 后来发现其实是行不通的,request.getQueryString()方法只能得到url?后面的参数

以下是网上搜到的post 和get都通用的拿去参数的方法

在servlet中GET请求可以通过HttpServletRequest的getRequestURL方法和getQueryString()得到完整的请求路径和请求所有参数列表,POST的需要getParameterMap()方法遍历得到,不论GET或POST都可以通过getRequestURL+getParameterMap()来得到请求完整路径

[java] view
plain copy

print?





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 + "&";

}

}

// 去掉最后一个空格

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 + "&";

}

}

// 去掉最后一个空格

queryString = queryString.substring(0, queryString.length() - 1);

writer.println("POST " + request.getRequestURL() + " " + queryString);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: