获取到的是String类型的,自己进行转换。
Map<String, String> params=new HashMap<String, String>();
if(url==null || "".equals(url.trim())){
return params;
}
try {
url = URLDecoder.decode(url, "UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
String[] split = url.split("[?]");
if (split.length == 2 && !"".equals(split[1].trim())) {
String[] parameters = split[1].split("&");
if (parameters != null && parameters.length != 0) {
for (int i = 0; i < parameters.length; i++) {
if (parameters[i] != null
&& parameters[i].trim().contains("=")) {
String[] split2 = parameters[i].split("=");
//split2可能为1,可能为2
if(split2.length==1){
//有这个参数但是是空的
params.put(split2[0], "");
}else if(split2.length==2){
if(!"".equals(split2[0].trim())){
params.put(split2[0], split2[1]);
}
}
}
}
}
}
return params;
}
测试代码:
String url="http://192.168.0.1:8080/abc/add.html?id=4&type=abc";
Map<String, String> params = getParameters(url);
System.out.println("size="+params.size());
System.out.println("id="+params.get("id"));
System.out.println("type="+params.get("type"));