欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java截取url参数的方法

程序员文章站 2024-03-13 16:39:09
废话少说,直奔关键代码。 具体代码如下所示: /** * 去掉url中的路径,留下请求参数部分 * @param strurl url地址 * @re...

废话少说,直奔关键代码。

具体代码如下所示:

/**
* 去掉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中的值

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值的方法,希望对大家有所帮助