废话少说,直奔关键代码。
具体代码如下所示:
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值的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!