導航:首頁 > 編程語言 > javaurl解析參數

javaurl解析參數

發布時間:2022-07-27 13:56:56

1. java 接收url中參數帶 % %傳過來的值

%是URL中的轉義符,比如 %20 表示空格,如果你要表達一個%本身,需要使用 %25表示。
js中可以使用 escape() 來編碼。

2. java 能獲取帶參數的url嗎

解析url,本想用正則表達式處理,但正則表達式速度較慢。用split處理一下就可以了。

package RequestPackage;
import java.util.HashMap;
import java.util.Map;
public class CRequest {
/**
* 解析出url請求的路徑,包括頁面
* @param strURL url地址
* @return url路徑
*/
public static String UrlPage(String strURL)
{
String strPage=null;
String[] arrSplit=null;

strURL=strURL.trim().toLowerCase();

arrSplit=strURL.split("[?]");
if(strURL.length()>0)
{
if(arrSplit.length>1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}

return strPage;
}
/**
* 去掉url中的路徑,留下請求參數部分
* @param strURL url地址
* @return url請求參數部分
*/
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)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}

return strAllParam;
}
/**
* 解析出url參數中的鍵值對
* 如 "index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
* @param URL url地址
* @return url請求參數部分
*/
public static Map<String, String> URLRequest(String URL)
{
Map<String, String> mapRequest = new HashMap<String, String>();

String[] arrSplit=null;

String strUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
return mapRequest;
}
//每個鍵值為一組 www.2cto.com
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;
}

}

測試類

package RequestPackage;
import java.util.Map;
public class TestCRequest {
/**用於測試CRequest類
* @param args
*/
public static void main(String[] args) {
// 請求url
String str = "index.jsp?Action=del&id=123&sort=";

//url頁面路徑
System.out.println(CRequest.UrlPage(str));

//url參數鍵值對
String strRequestKeyAndValues="";
Map<String, String> mapRequest = CRequest.URLRequest(str);

for(String strRequestKey: mapRequest.keySet()) {
String strRequestValue=mapRequest.get(strRequestKey);
strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";

}
System.out.println(strRequestKeyAndValues);

//獲取無效鍵時,輸出null
System.out.println(mapRequest.get("page"));
}
}

3. JAVA URL類中的這個構造函數的參數是什麼意思

context是用來保存基路徑的,新建的URL的路徑會是context中的路徑和spec拼接起來的路徑。
比如
URL baseURL=new URL("http://www..com");
URL url=new URL(baseURL,"img/bd_logo1.png");
String path=url.toString();//path為"www..com/img/bd_logo1.png"

4. java中如何解析頁面傳入的url

public class CRequest {

/**
* 解析出url請求的路徑,包括頁面
* @param strURL url地址
* @return url路徑
*/
public static String UrlPage(String strURL)
{
String strPage=null;
String[] arrSplit=null;

strURL=strURL.trim().toLowerCase();

arrSplit=strURL.split("[?]");
if(strURL.length()>0)
{
if(arrSplit.length>1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}

return strPage;
}
/**
* 去掉url中的路徑,留下請求參數部分
* @param strURL url地址
* @return url請求參數部分
*/
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)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}

return strAllParam;
}
/**
* 解析出url參數中的鍵值對
* 如 "index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
* @param URL url地址
* @return url請求參數部分
*/
public static Map<String, String> URLRequest(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;
}

}

public class TestCRequest {
/**用於測試CRequest類
* @param args
*/
public static void main(String[] args) {
// 請求url
String str = "index.jsp?Action=del&id=123&sort=";

//url頁面路徑
System.out.println(CRequest.UrlPage(str));

//url參數鍵值對
String strRequestKeyAndValues="";
Map<String, String> mapRequest = CRequest.URLRequest(str);

for(String strRequestKey: mapRequest.keySet()) {
String strRequestValue=mapRequest.get(strRequestKey);
strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";

}
System.out.println(strRequestKeyAndValues);

//獲取無效鍵時,輸出null
System.out.println(mapRequest.get("page"));
}
}

5. java 判斷utl 是否帶有參數

packageRequestPackage;
importjava.util.HashMap;
importjava.util.Map;
publicclassCRequest{
/**
*解析出url請求的路徑,包括頁面
*@paramstrURLurl地址
*@returnurl路徑
*/
publicstaticStringUrlPage(StringstrURL)
{
StringstrPage=null;
String[]arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()>0)
{
if(arrSplit.length>1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}
returnstrPage;
}
/**
*去掉url中的路徑,留下請求參數部分
*@paramstrURLurl地址
*@returnurl請求參數部分
*/
(StringstrURL)
{
StringstrAllParam=null;
String[]arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()>1)
{
if(arrSplit.length>1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
returnstrAllParam;
}
/**
*解析出url參數中的鍵值對
*如"index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
*@paramURLurl地址
*@returnurl請求參數部分
*/
publicstaticMap<String,String>URLRequest(StringURL)
{
Map<String,String>mapRequest=newHashMap<String,String>();
String[]arrSplit=null;
StringstrUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
returnmapRequest;
}
//每個鍵值為一組
arrSplit=strUrlParam.split("[&]");
for(StringstrSplit: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],"");
}
}
}
returnmapRequest;
}
}

6. java怎麼獲取url上的參數

request.getParameter("xxx");

7. java解析出url請求的路徑和參數鍵值對類

解析url,本想用正則表達式處理,但正則表達式速度較慢。用split處理一下就可以了。

packageRequestPackage;
importjava.util.HashMap;
importjava.util.Map;
publicclassCRequest{
/**
*解析出url請求的路徑,包括頁面
*@paramstrURLurl地址
*@returnurl路徑
*/
publicstaticStringUrlPage(StringstrURL)
{
StringstrPage=null;
String[]arrSplit=null;

strURL=strURL.trim().toLowerCase();

arrSplit=strURL.split("[?]");
if(strURL.length()>0)
{
if(arrSplit.length>1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}

returnstrPage;
}
/**
*去掉url中的路徑,留下請求參數部分
*@paramstrURLurl地址
*@returnurl請求參數部分
*/
(StringstrURL)
{
StringstrAllParam=null;
String[]arrSplit=null;

strURL=strURL.trim().toLowerCase();

arrSplit=strURL.split("[?]");
if(strURL.length()>1)
{
if(arrSplit.length>1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}

returnstrAllParam;
}
/**
*解析出url參數中的鍵值對
*如"index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
*@paramURLurl地址
*@returnurl請求參數部分
*/
publicstaticMap<String,String>URLRequest(StringURL)
{
Map<String,String>mapRequest=newHashMap<String,String>();

String[]arrSplit=null;

StringstrUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
returnmapRequest;
}
//每個鍵值為一組www.2cto.com
arrSplit=strUrlParam.split("[&]");
for(StringstrSplit: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],"");
}
}
}
returnmapRequest;
}

}

測試類


packageRequestPackage;
importjava.util.Map;
publicclassTestCRequest{
/**用於測試CRequest類
*@paramargs
*/
publicstaticvoidmain(String[]args){
//請求url
Stringstr="index.jsp?Action=del&id=123&sort=";

//url頁面路徑
System.out.println(CRequest.UrlPage(str));

//url參數鍵值對
StringstrRequestKeyAndValues="";
Map<String,String>mapRequest=CRequest.URLRequest(str);

for(StringstrRequestKey:mapRequest.keySet()){
StringstrRequestValue=mapRequest.get(strRequestKey);
strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";

}
System.out.println(strRequestKeyAndValues);

//獲取無效鍵時,輸出null
System.out.println(mapRequest.get("page"));
}
}


測試代碼運行效果

index.jsp
key:id,Value:123;key:sort,Value:;key:action,Value:del;
null

8. java獲取url參數以及參數值

參數名一定得是固定的,所傳的參數如果是是字元串需要和別的字元串比較的話可以用toLowerCase()
統一為小寫,或者用toUpperCase()統一為大寫。

9. java 獲取url 中的參數請問以下代碼中的 url地址該怎麼寫

String
url
=
request.getScheme()+"://";
//請求協議
http

https
url+=request.getHeader("host");
//
請求伺服器
url+=request.getRequestURI();
//
工程名
if(request.getQueryString()!=null)
//判斷請求參數是否為空
url+="?"+request.getQueryString();
//
參數

閱讀全文

與javaurl解析參數相關的資料

熱點內容
企業透明加密軟體有監視功能嗎 瀏覽:492
桌面的運行命令 瀏覽:7
主流廠商伺服器維護流程是什麼 瀏覽:807
壓縮棉的被子先洗洗在用 瀏覽:242
批處理bat代碼和文件夾 瀏覽:296
怎麼交叉編譯tslib14 瀏覽:493
致程序員生產力飆升 瀏覽:760
程序員害怕下班嗎 瀏覽:107
鐵路漢宜線加密網實景效果圖 瀏覽:929
php工作難找 瀏覽:440
微信拼手氣紅包源碼 瀏覽:380
javaexcel公式計算 瀏覽:628
mastercam二維編程 瀏覽:384
加密協議aes和tkip 瀏覽:707
數據結構與演算法彭軍 瀏覽:770
二類app是什麼意思 瀏覽:498
可示教編程的plc 瀏覽:404
好看的個人界面源碼 瀏覽:882
手機加密文件夾解密方法 瀏覽:654
智能門鎖只能添加密碼不能修改 瀏覽:554