废话少说,直奔关键代码。
具体代码如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
/**
* 去掉url中的路径,留下请求参数部分
* @param strURL url地址
* @return url请求参数部分
* @author lzf
*/
private static String TruncateUrlPage(String strURL){
String strAllParam= null ;
String[] arrSplit= null ;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split( "[?]" );
if (strURL.length()> 1 ){
if (arrSplit.length> 1 ){
for ( int i= 1 ;i<arrSplit.length;i++){
strAllParam = arrSplit[i];
}
}
}
return strAllParam;
}
/**
* 解析出url参数中的键值对
* 如 "index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
* @param URL url地址
* @return url请求参数部分
* @author lzf
*/
public static Map<String, String> urlSplit(String URL){
Map<String, String> mapRequest = new HashMap<String, String>();
String[] arrSplit= null ;
String strUrlParam=TruncateUrlPage(URL);
if (strUrlParam== null ){
return mapRequest;
}
arrSplit=strUrlParam.split( "[&]" );
for (String strSplit:arrSplit){
String[] arrSplitEqual= null ;
arrSplitEqual= strSplit.split( "[=]" );
//解析出键值
if (arrSplitEqual.length> 1 ){
//正确解析
mapRequest.put(arrSplitEqual[ 0 ], arrSplitEqual[ 1 ]);
} else {
if (arrSplitEqual[ 0 ]!= "" ){
//只有参数没有值,不加入
mapRequest.put(arrSplitEqual[ 0 ], "" );
}
}
}
return mapRequest;
}
|
PS:java截取url中的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
Map<String, Object> urlSplit(String data){
StringBuffer strbuf = new StringBuffer();
StringBuffer strbuf2 = new StringBuffer();
Map<String ,Object> map = new HashMap<String,Object>();
for ( int i = 0 ;i<data.length();i++){
if (data.substring(i,i+ 1 ).equals( "=" )){
for ( int n=i+ 1 ;n<data.length();n++){
if (data.substring(n,n+ 1 ).equals( "&" )|| n ==data.length()- 1 ){
map.put(strbuf.toString(), strbuf2);
strbuf = new StringBuffer( "" );
strbuf2 = new StringBuffer( "" );
i=n;
break ;
}
strbuf2.append(data.substring(n,n+ 1 ));
}
continue ;
}
strbuf.append(data.substring(i,i+ 1 ));
}
return map;
}
|
以上所述是小编给大家介绍的Java截取url参数的方法及java截取url值的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!